这款图片上传源代码是一款可以上传图片并且还具有给上传的图片生成缩略图与增加水印功能哦,可以说是一款完美的图片上传类哦。
Modoer 是一款以本地分享,多功能的点评网站管理系统。采用 PHP+MYSQL 开发设计,开放全部源代码。因具有非凡的访问速度和卓越的负载能力而深受国内外朋友的喜爱,不局限于商铺类点评,真正实现了多类型的点评,可以让您的网站点评任何事与物,同时增加产品模块,也更好的网站产品在网站上展示。Modoer点评系统 2.5 Build 20110710更新列表1.同步 旗舰版系统框架2.增加 限制图片
0
php教程 图片上传代码(具有生成缩略图与增加水印功能)
这款图片上传源代码是一款可以上传图片并且还具有给上传的图片生成缩略图与增加水印功能哦,可以说是一款完美的图片上传类哦。
class upfile { public $filepath = "www.bKjia.c0m/"; //上传文件存放文件夹 public $filesize = 1000000; //允许上传的大小 //如果要修改允许上传文件的类型 请搜索 【 switch ($upfiletype) { //文件类型 】 public $reimagesize = array ( true, //是否生成缩略图 400, //缩略图宽 300,//缩略图高 "" //缩略图存放文件夹 如果为空和当前要生成缩略图的文件在同一目录 文件前缀r_ ); //是否生成缩略图 array(生成或不生成,缩略图宽,缩略图高,存放文件夹); 注意:存放文件夹后跟 '/' public $india = true; //是否打水印 true打 false不打 public $indiaimage = ""; //水印图片地址为空则不打图片水印 如果有文字水印建议不要开启图片水印 public $indiaimagex = 100; //图片距离图片左边距离 public $indiaimagey = 10; //图片距离图片上面距离 public $indiatext = "www.bKjia.c0m"; //水印文字 public $fontsize = 6; //水印文字大小,1最小6最大 public $indiatextx = 10; //文字距离图片左边距离 public $indiatexty = 10; //文字距离图片上面距离 public $r = 250; //图片颜色三原色 $r红 public $g = 250; //$g绿 public $b = 250; //$b蓝 public $indiapath = ""; //加了水印的图片保存路径,如果为空就直接替代原来的图片 //开始上传处理 function uploadfile($upfile) { if ($upfile == "") { die("uploadfile:参数不足"); } if (!file_exists($this->filepath)) { mkdir($this->filepath); } $upfiletype = $upfile['type']; $upfilesize = $upfile['size']; $upfiletmpname = $upfile['tmp_name']; $upfilename = $upfile['name']; $upfileerror = $upfile['error']; if ($upfilesize > $this->filesize) { return false; //文件过大 } switch ($upfiletype) { //文件类型 case 'image/jpeg' : $type = 'jpg'; break; case 'image/pjpeg' : $type = 'jpg'; break; case 'image/png' : $type = 'png'; break; case 'image/gif' : $type = 'gif'; break; } if (!isset ($type)) { return false; //不支持此类型 } if (!is_uploaded_file($upfiletmpname) or !is_file($upfiletmpname)) { return false; ; //文件不是经过正规上传的; } if ($this->upfileerror != 0) { return false; //其他错误 } if ($this->upfileerror == 0) { if (!file_exists($upfiletmpname)) { return false; //临时文件不存在 } else { $filename = date("ymdhis", time() + 3600 * 8); //图片已当前时间命名 $filename = $this->filepath . $filename . "." . $type; if (!move_uploaded_file($upfiletmpname, $filename)) { return false; //文件在移动中丢失 } else { if ($this->india == true) { $this->goindia($filename, $type,true); } else { if ($this->reimagesize[0] == true) { $this->goreimagesize($filename, $type); } else { return true; //上传成功! unlink($upfiletmpname); } } } } } } //添加水印处理 function goindia($filename, $filetype,$reimage=false) { if (!file_exists($filename)) { $this->reerror(7); //要添加水印的文件不存在 } else { if ($filetype == "jpg") { $im = imagecreatefromjpeg($filename); } else if ($filetype == "gif") { $im = imagecreatefromgif($filename); } else if ($filetype == "png") { $im = imagecreatefrompng($filename); } if ($this->indiatext != "") { //如果水印文字不为空 $textcolor = imagecolorallocate($im, $this->r, $this->g, $this->b); //设置文字颜色 imagestring($im, $this->fontsize, $this->indiatextx, $this->indiatexty, $this->indiatext, $textcolor); //将文字写入图片 } if ($this->indiaimage != "") {//如果水印图片不为空 $indiaimagetype = getimagesize($this->indiaimage); $logow = $indiaimagetype[0]; //得到水印图片的宽 $logoh = $indiaimagetype[1]; //得到水印图片的高 switch ($indiaimagetype[2]) { //判断水印图片的格式 case 1 : $indiaimagetype = "gif"; $logo = imagecreatefromgif($this->indiaimage); break; case 2 : $indiaimagetype = "jpg"; $logo = imagecreatefromjpeg($this->indiaimage); break; case 3 : $indiaimagetype = "png"; $logo = imagecreatefrompng($this->indiaimage); break; } imagealphablending($im, true); //打开混色模式 imagecopy($im, $logo, $this->indiaimagex, $this->indiaimagey, 0, 0, $logow, $logoh); imagedestroy($im); imagedestroy($logo); } } if ($this->indiapath == "") { //如果水印存放地址不为空 if ($filetype == "jpg") { imagejpeg($im, $filename); } else if ($filetype == "gif") { imagegif($im, $filename); } else if ($filetype == "png") { imagepng($im, $filename); } if($reimage == true){ $this->goreimagesize($filename,$filetype); }else{ return true; //添加水印成功 } } else { if (!file_exists($this->indiapath)) { mkdir($this->indiapath); return false; //请重新上传 } else { $indianame = basename($filename); $indianame = $this->indiapath . $indianame; if ($filetype == "jpg") { imagejpeg($im, $indianame); } else if ($filetype == "gif") { imagegif($im, $indianame); } else if ($filetype == "png") { imagepng($im, $indianame); } if($reimage == true){ $this->goreimagesize($indianame,$filetype); echo $indianame; }else{ return true; //添加水印成功 } } } } function goreimagesize($filename, $filetype) { if (!file_exists($filename)) { return false; //要生成缩略图的图片不存在 } else { if ($filetype == 'jpg') { $reimage = imagecreatefromjpeg($filename); } elseif ($filetype == 'png') { $reimage = imagecreatefrompng($filename); } else if ($filetype == 'gif') { $reimage = imagecreatefromgif($filename); } if (isset ($reimage)) { $srcimagetype = getimagesize($filename); $srcimagetypew = $srcimagetype[0]; //得到原始图片宽度 $srcimagetypeh = $srcimagetype[1]; //得到原始图片高度 $reim = imagecreatetruecolor($this->reimagesize[1], $this->reimagesize[2]); imagecopyresized($reim, $reimage, 0, 0, 0, 0, $this->reimagesize[1], $this->reimagesize[2], $srcimagetypew, $srcimagetypeh); $reimagepath = $this->reimagesize[3]; if ($reimagepath != "") { //如果存放水印地址不为空 if (!file_exists($reimagepath)) { mkdir($reimagepath); } else { $reimagename = basename($filename); $reimagename = $reimagepath . "r_" . $reimagename; if ($filetype == "gif") imagegif($reim, $reimagename); else if ($filetype == "jpg") imagejpeg($reim, $reimagename); else if ($filetype == "png") imagepng($reim, $reimagename); return true; } } else { $filename = basename($filename); if($this->indiapath == ""){ $filename = $this->filepath."r_" . $filename; }else{ $filename = $this->indiapath."r_" . $filename; } if ($filetype == "gif") imagegif($reim, $filename); else if ($filetype == "jpg") imagejpeg($reim, $filename); else if ($filetype == "png") imagepng($reim, $filename); return true; } } } } } if ($_post["submit"]) { $file = $_files['uploadfile']; $upfile = new upfile(); echo $upfile->uploadfile($file); } ?>
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号