Heim >Backend-Entwicklung >PHP-Tutorial >上传图片添加水印?该怎么解决
上传图片添加水印???
上传图片添加水印???
搞了个上传图片的函数(经过测试可以上传图片,这个没有问题)
现在想上传图片时添加水印图片(一个小gif)
上传图片时,网页提示函数imagecopymerge()报错,不知道哪里出了问题,大家帮我看看
上传图片函数代码:
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->/*$files为上传的图片文件$folder为上传图片的文件夹*/function uploads($files,$folder){ //取得图片的后缀名 $knamearray=explode(".",$_FILES["upfile"]["name"]); $kname=$knamearray[count($knamearray)-1]; //设置图片文件名为系统时间 $filename=date('YmdHis'); $filenames=$filename.$code.".".$kname; $upfile=$folder."/".$filenames; //上传图片 move_uploaded_file($files,$upfile); //添加水印图片开始了…… $im=imagecreatefromgif("wimages/logo.gif"); //logo.gif图片的尺寸为120*45 imagecopymerge($upfile,$im,0,0,0,0,120,45,80); //现在提示这句有问题。。。 return $filenames;//回传图片文件名}
class upimg{ //该类用来实现上传$uptypes数组内类型的图片,可以通过setWaterMark()启用设置水印 <br> <br> /** <br> * <br> * 则在图片上加水印; <br> * 外部通过访问$msg ,$img_width, $img_height ,$save_dir,$img_size变量 <br> * 获取图片在上传过程中出现的错误,和图片上传后保存的路径,图片大小等信息; <br> */ <br> private $uptypes = array('image/gif','image/jpg','image/jpeg','image/png','image/pjpeg');//'image/bmp','image/x-png'); <br> private $max_file_size = 200000; <br> private $dir_folder = "../imageupload/"; <br> private $water_mark = 1; <br> private $water_type = 1; <br> private $water_str = "http://www.516ya.cn"; <br> private $water_img = "xplore.gif"; <br> private $create_water= false; <br> private $overwrite = false; <br> <br> public $msg=""; <br> public $img_width=0; <br> public $img_height=0; <br> public $save_dir=""; <br> public $img_size=0; <br> public $sucess =false; <br> <br> function setWaterMark(){ <br> $this->create_water = true; <br> } <br> <br> function startUpload($files){ <br> <br> <br> if(!is_uploaded_file($files['tmp_name'])) <br> { <br> $this->msg.="图片不存在!--";<div class="clear"> </div>