php生成贺卡,并且群发邮件功能 如上图: 公司现在需要群发电子邮件贺卡, 每个 电子邮件 贺卡 中间 需要有该人的姓名, 一共有4千多个,我打算 每个 电子邮件地址 对应 一个 图片(图片中间有该人的姓名, 图片命名以那个人的名字来命名) , 然后群发出去,请问 如何在图片但中 生成那个 姓名呢? 谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://www.talkingeasy.net IM聊天伴侣高手啊``菜鸟的瓢过!! #<?php#/*#* 功能:PHP图片水印 (水印支持图片或文字)#* 参数:#* $groundImage 背景图片,即需要加水印的图片,暂只支持GIF,JPG,PNG格式;#* $waterPos 水印位置,有10种状态,0为随机位置;#* 1为顶端居左,2为顶端居中,3为顶端居右;#* 4为中部居左,5为中部居中,6为中部居右;#* 7为底端居左,8为底端居中,9为底端居右;#* $waterImage 图片水印,即作为水印的图片,暂只支持GIF,JPG,PNG格式;#* $waterText 文字水印,即把文字作为为水印,支持ASCII码,不支持中文;#* $textFont 文字大小,值为1、2、3、4或5,默认为5;#* $textColor 文字颜色,值为十六进制颜色值,默认为#FF0000(红色);#*#* 注意:Support GD 2.0,Support FreeType、GIF Read、GIF Create、JPG 、PNG#* $waterImage 和 $waterText 最好不要同时使用,选其中之一即可,优先使用 $waterImage。#* 当$waterImage有效时,参数$waterString、$stringFont、$stringColor均不生效。#* 加水印后的图片的文件名和 $groundImage 一样。#* 作者:longware @ 2004-11-3 14:15:13#*/#function imageWaterMark($groundImage,$waterPos=0,$waterImage="",$waterText="",$textFont=5,$textColor="#FF0000")#{# $isWaterImage = FALSE;# $formatMsg = "暂不支持该文件格式,请用图片处理软件将图片转换为GIF、JPG、PNG格式。";# # //读取水印文件# if(!empty($waterImage) && file_exists($waterImage))# {# $isWaterImage = TRUE;# $water_info = getimagesize($waterImage);# $water_w = $water_info[0];//取得水印图片的宽# $water_h = $water_info[1];//取得水印图片的高# # switch($water_info[2])//取得水印图片的格式# {# case 1:$water_im = imagecreatefromgif($waterImage);break;# case 2:$water_im = imagecreatefromjpeg($waterImage);break;# case 3:$water_im = imagecreatefrompng($waterImage);break;# default:die($formatMsg);# }# }# # //读取背景图片# if(!empty($groundImage) && file_exists($groundImage))# {# $ground_info = getimagesize($groundImage);# $ground_w = $ground_info[0];//取得背景图片的宽# $ground_h = $ground_info[1];//取得背景图片的高# # switch($ground_info[2])//取得背景图片的格式# {# case 1:$ground_im = imagecreatefromgif($groundImage);break;# case 2:$ground_im = imagecreatefromjpeg($groundImage);break;# case 3:$ground_im = imagecreatefrompng($groundImage);break;# default:die($formatMsg);# }# }# else# {# die("需要加水印的图片不存在!");# }# # //水印位置# if($isWaterImage)//图片水印# {# $w = $water_w;# $h = $water_h;# $label = "图片的";# }# else//文字水印# {# $temp = imagettfbbox(ceil($textFont*2.5),0,"./cour.ttf",$waterText);//取得使用 TrueType 字体的文本的范围# $w = $temp[2] – $temp[6];# $h = $temp[3] – $temp[7];# unset($temp);# $label = "文字区域";# }# if( ($ground_w<$w) || ($ground_h<$h) )# {# echo "需要加水印的图片的长度或宽度比水印".$label."还小,无法生成水印!";# return;# }# switch($waterPos)# {# case 0://随机# $posX = rand(0,($ground_w – $w));# $posY = rand(0,($ground_h – $h));# break;# case 1://1为顶端居左# $posX = 0;# $posY = 0;# break;# case 2://2为顶端居中# $posX = ($ground_w – $w) / 2;# $posY = 0;# break;# case 3://3为顶端居右# $posX = $ground_w – $w;# $posY = 0;# break;# case 4://4为中部居左# $posX = 0;# $posY = ($ground_h – $h) / 2;# break;# case 5://5为中部居中# $posX = ($ground_w – $w) / 2;# $posY = ($ground_h – $h) / 2;# break;# case 6://6为中部居右# $posX = $ground_w – $w;# $posY = ($ground_h – $h) / 2;# break;# case 7://7为底端居左# $posX = 0;# $posY = $ground_h – $h;# break;# case 8://8为底端居中# $posX = ($ground_w – $w) / 2;# $posY = $ground_h – $h;# break;# case 9://9为底端居右# $posX = $ground_w – $w;# $posY = $ground_h – $h;# break;# default://随机# $posX = rand(0,($ground_w – $w));# $posY = rand(0,($ground_h – $h));# break; # }# # //设定图像的混色模式# imagealphablending($ground_im, true);# # if($isWaterImage)//图片水印# {# imagecopy($ground_im, $water_im, $posX, $posY, 0, 0, $water_w,$water_h);//拷贝水印到目标文件 # }# else//文字水印# {# if( !empty($textColor) && (strlen($textColor)==7) )# {# $R = hexdec(substr($textColor,1,2));# $G = hexdec(substr($textColor,3,2));# $B = hexdec(substr($textColor,5));# }# else# {# die("水印文字颜色格式不正确!");# }# imagestring ( $ground_im, $textFont, $posX, $posY, $waterText, imagecolorallocate($ground_im, $R, $G, $B)); # }# # //生成水印后的图片# @unlink($groundImage);# switch($ground_info[2])//取得背景图片的格式# {# case 1:imagegif($ground_im,$groundImage);break;# case 2:imagejpeg($ground_im,$groundImage);break;# case 3:imagepng($ground_im,$groundImage);break;# default:die($errorMsg);# }# # //释放内存# if(isset($water_info)) unset($water_info);# if(isset($water_im)) imagedestroy($water_im);# unset($ground_info);# imagedestroy($ground_im);#}#//—————————————————————————————# #if(isset($_FILES) && !empty($_FILES["userfile"]) && $_FILES["userfile"]["size"]>0)#{# $uploadfile = "./".time()."_".$_FILES["userfile"]["name"];# if (copy($_FILES["userfile"]["tmp_name"], $uploadfile))# {# echo "OK<br>";# # //文字水印# imageWaterMark($uploadfile,0,"","<a href="http://blog.csdn.net/LONGWARE/%22,5,%22#FF0000">HTTP://BLOG.CSDN.NET/LONGWARE/",5,"#FF0000</a>");# # //图片水印# //$waterImage="./Hanweb_shuiyin.gif";//水印图片路径# //imageWaterMark($uploadfile,0,$waterImage);# # echo "<img src=\"".$uploadfile."\" border=\"0\">";# }# else# {# echo "Fail<br>";# }#}#?>把水印换成名字就行了。 别听他们的,都是馊主意,为什么不用 html邮件呢 ,邮件完全可以发送html <?phprename("/tmp/tmp_file.txt", "/home/user/login/docs/my_file.txt");?> 自己刚找了 修改文件的函数 楼主可不可以把你的群发邮件的代码发一份给我?我最近也在做PHP群发邮件,不过做了几天还是没成果的。本人刚学PHP编程,很多东西都不会。我的邮箱是[email protected].在此先谢谢楼主!!! 你先将 一堆 邮件地址放在一个TXT 里面, 每个邮件地址 用“;”相隔, 然后 再每个地址读出来 就是了 关于一个PHP的数组调用问题 如何生成缩略图 哪全知道asp.net的,帮忙把php转换一下,只是一个很简单的function...诚求 关于转编码的问题 php中字符串能相乘吗?请看下面代码,希望能解释一下 关于将"-"字符替换为"'"的问题 拿一半的财产求一个问题! 在Apache中如何像IIS那样设置多个虚拟目录? 我想学php,不知应从何入手,请各位指点一下... php中使用frameset框架局部刷新问题 php 解析xml问题 自动添加数据
高手啊``菜鸟的瓢过!!
#
<?php
#
/*
#
* 功能:PHP图片水印 (水印支持图片或文字)
#
* 参数:
#
* $groundImage 背景图片,即需要加水印的图片,暂只支持GIF,JPG,PNG格式;
#
* $waterPos 水印位置,有10种状态,0为随机位置;
#
* 1为顶端居左,2为顶端居中,3为顶端居右;
#
* 4为中部居左,5为中部居中,6为中部居右;
#
* 7为底端居左,8为底端居中,9为底端居右;
#
* $waterImage 图片水印,即作为水印的图片,暂只支持GIF,JPG,PNG格式;
#
* $waterText 文字水印,即把文字作为为水印,支持ASCII码,不支持中文;
#
* $textFont 文字大小,值为1、2、3、4或5,默认为5;
#
* $textColor 文字颜色,值为十六进制颜色值,默认为#FF0000(红色);
#
*
#
* 注意:Support GD 2.0,Support FreeType、GIF Read、GIF Create、JPG 、PNG
#
* $waterImage 和 $waterText 最好不要同时使用,选其中之一即可,优先使用 $waterImage。
#
* 当$waterImage有效时,参数$waterString、$stringFont、$stringColor均不生效。
#
* 加水印后的图片的文件名和 $groundImage 一样。
#
* 作者:longware @ 2004-11-3 14:15:13
#
*/
#
function imageWaterMark($groundImage,$waterPos=0,$waterImage="",$waterText="",$textFont=5,$textColor="#FF0000")
#
{
#
$isWaterImage = FALSE;
#
$formatMsg = "暂不支持该文件格式,请用图片处理软件将图片转换为GIF、JPG、PNG格式。";
#
#
//读取水印文件
#
if(!empty($waterImage) && file_exists($waterImage))
#
{
#
$isWaterImage = TRUE;
#
$water_info = getimagesize($waterImage);
#
$water_w = $water_info[0];//取得水印图片的宽
#
$water_h = $water_info[1];//取得水印图片的高
#
#
switch($water_info[2])//取得水印图片的格式
#
{
#
case 1:$water_im = imagecreatefromgif($waterImage);break;
#
case 2:$water_im = imagecreatefromjpeg($waterImage);break;
#
case 3:$water_im = imagecreatefrompng($waterImage);break;
#
default:die($formatMsg);
#
}
#
}
#
#
//读取背景图片
#
if(!empty($groundImage) && file_exists($groundImage))
#
{
#
$ground_info = getimagesize($groundImage);
#
$ground_w = $ground_info[0];//取得背景图片的宽
#
$ground_h = $ground_info[1];//取得背景图片的高
#
#
switch($ground_info[2])//取得背景图片的格式
#
{
#
case 1:$ground_im = imagecreatefromgif($groundImage);break;
#
case 2:$ground_im = imagecreatefromjpeg($groundImage);break;
#
case 3:$ground_im = imagecreatefrompng($groundImage);break;
#
default:die($formatMsg);
#
}
#
}
#
else
#
{
#
die("需要加水印的图片不存在!");
#
}
#
#
//水印位置
#
if($isWaterImage)//图片水印
#
{
#
$w = $water_w;
#
$h = $water_h;
#
$label = "图片的";
#
}
#
else//文字水印
#
{
#
$temp = imagettfbbox(ceil($textFont*2.5),0,"./cour.ttf",$waterText);//取得使用 TrueType 字体的文本的范围
#
$w = $temp[2] – $temp[6];
#
$h = $temp[3] – $temp[7];
#
unset($temp);
#
$label = "文字区域";
#
}
#
if( ($ground_w<$w) || ($ground_h<$h) )
#
{
#
echo "需要加水印的图片的长度或宽度比水印".$label."还小,无法生成水印!";
#
return;
#
}
#
switch($waterPos)
#
{
#
case 0://随机
#
$posX = rand(0,($ground_w – $w));
#
$posY = rand(0,($ground_h – $h));
#
break;
#
case 1://1为顶端居左
#
$posX = 0;
#
$posY = 0;
#
break;
#
case 2://2为顶端居中
#
$posX = ($ground_w – $w) / 2;
#
$posY = 0;
#
break;
#
case 3://3为顶端居右
#
$posX = $ground_w – $w;
#
$posY = 0;
#
break;
#
case 4://4为中部居左
#
$posX = 0;
#
$posY = ($ground_h – $h) / 2;
#
break;
#
case 5://5为中部居中
#
$posX = ($ground_w – $w) / 2;
#
$posY = ($ground_h – $h) / 2;
#
break;
#
case 6://6为中部居右
#
$posX = $ground_w – $w;
#
$posY = ($ground_h – $h) / 2;
#
break;
#
case 7://7为底端居左
#
$posX = 0;
#
$posY = $ground_h – $h;
#
break;
#
case 8://8为底端居中
#
$posX = ($ground_w – $w) / 2;
#
$posY = $ground_h – $h;
#
break;
#
case 9://9为底端居右
#
$posX = $ground_w – $w;
#
$posY = $ground_h – $h;
#
break;
#
default://随机
#
$posX = rand(0,($ground_w – $w));
#
$posY = rand(0,($ground_h – $h));
#
break;
#
}
#
#
//设定图像的混色模式
#
imagealphablending($ground_im, true);
#
#
if($isWaterImage)//图片水印
#
{
#
imagecopy($ground_im, $water_im, $posX, $posY, 0, 0, $water_w,$water_h);//拷贝水印到目标文件
#
}
#
else//文字水印
#
{
#
if( !empty($textColor) && (strlen($textColor)==7) )
#
{
#
$R = hexdec(substr($textColor,1,2));
#
$G = hexdec(substr($textColor,3,2));
#
$B = hexdec(substr($textColor,5));
#
}
#
else
#
{
#
die("水印文字颜色格式不正确!");
#
}
#
imagestring ( $ground_im, $textFont, $posX, $posY, $waterText, imagecolorallocate($ground_im, $R, $G, $B));
#
}
#
#
//生成水印后的图片
#
@unlink($groundImage);
#
switch($ground_info[2])//取得背景图片的格式
#
{
#
case 1:imagegif($ground_im,$groundImage);break;
#
case 2:imagejpeg($ground_im,$groundImage);break;
#
case 3:imagepng($ground_im,$groundImage);break;
#
default:die($errorMsg);
#
}
#
#
//释放内存
#
if(isset($water_info)) unset($water_info);
#
if(isset($water_im)) imagedestroy($water_im);
#
unset($ground_info);
#
imagedestroy($ground_im);
#
}
#
//—————————————————————————————
#
#
if(isset($_FILES) && !empty($_FILES["userfile"]) && $_FILES["userfile"]["size"]>0)
#
{
#
$uploadfile = "./".time()."_".$_FILES["userfile"]["name"];
#
if (copy($_FILES["userfile"]["tmp_name"], $uploadfile))
#
{
#
echo "OK<br>";
#
#
//文字水印
#
imageWaterMark($uploadfile,0,"","<a href="http://blog.csdn.net/LONGWARE/%22,5,%22#FF0000">HTTP://BLOG.CSDN.NET/LONGWARE/",5,"#FF0000</a>");
#
#
//图片水印
#
//$waterImage="./Hanweb_shuiyin.gif";//水印图片路径
#
//imageWaterMark($uploadfile,0,$waterImage);
#
#
echo "<img src=\"".$uploadfile."\" border=\"0\">";
#
}
#
else
#
{
#
echo "Fail<br>";
#
}
#
}
#
?>
把水印换成名字就行了。
rename("/tmp/tmp_file.txt", "/home/user/login/docs/my_file.txt");
?> 自己刚找了 修改文件的函数
本人刚学PHP编程,很多东西都不会。
我的邮箱是[email protected].
在此先谢谢楼主!!!