电脑安全

您当前的位置:主页 > 电脑安全 >

图片加水印程序-网络编程

来源:[db:来源]标题:   水印    编辑:电脑技术全能网 时间:2019-09-21 18:24

原标题:图片加水印程序-网络编程
   参数阐明: $max_file_size:上传文件巨细限度,单元BYTE $destination_folder:上传文件门路 $watermark:能否附加水印(1为加水印,其余为不加水印); 应用阐明: 1.将PHP.INI文件外面的"extension=php_gd2.dll"一行后面的;号去掉,由于咱们要用到GD库; 2.将extension_dir=改成你的php_gd2.dll地点名目; ****************************************************/ //上传文件范例列表 $uptypes=array( 'image/jpg', 'image/jpeg', 'image/png', 'image/pjpeg', 'image/gif', 'image/bmp', 'image/x-png' ); $max_file_size=2000000;//上传文件巨细限度,单元BYTE $destination_folder="uploadimg/";//上传文件门路 $watermark=1;//能否附加水印(1为加水印,其余为不加水印); $watertype=1;//水印范例(1为笔墨,2为图片) $waterposition=1;//水印地位(1为左下角,2为右下角,3为左上角,4为右上角,5为居中); $waterstring="http://www.xplore.cn/";//水印字符串 $waterimg="xplore.gif";//水印图片 $imgpreview=1;//能否天生预览图(1为天生,其余为不天生); $imgpreviewsize=1/2;//缩略图比例 ?> <html> <head> <title>ZwelL图片上传顺序</title> <styletype="text/css"> <!-- body { font-size:9pt; } input { background-color:#66CCFF; border:1pxinset#CCCCCC; } --> </style> </head> <body> <formenctype="multipart/form-data"method="post"name="upform"> 上传文件: <inputname="upfile"type="file"> <inputtype="submit"value="上传"><br> 同意上传的文件范例为:<?=implode(',',$uptypes)?> </form> <?php if($_SERVER['REQUEST_METHOD']=='POST') { if(!is_uploaded_file($_FILES["upfile"][tmp_name])) //能否存在文件 { echo"图片不存在!"; exit; } $file=$_FILES["upfile"]; if($max_file_size<$file["size"]) //检讨文件巨细 { echo"文件太大!"; exit; } if(!in_array($file["type"],$uptypes)) //检讨文件范例 { echo"文件范例不符!".$file["type"]; exit; } if(!file_exists($destination_folder)) { mkdir($destination_folder); } $filename=$file["tmp_name"]; $image_size=getimagesize($filename); $pinfo=pathinfo($file["name"]); $ftype=$pinfo['extension']; $destination=$destination_folder.time().".".$ftype; if(file_exists($destination)&&$overwrite!=true) { echo"同名文件曾经存在了"; exit; } if(!move_uploaded_file($filename,$destination)) { echo"挪动文件犯错"; exit; } $pinfo=pathinfo($destination); $fname=$pinfo[basename]; echo"<fontcolor=red>曾经胜利上传</font><br>文件名:<fontcolor=blue>".$destination_folder.$fname."</font><br>"; echo"宽度:".$image_size[0]; echo"长度:".$image_size[1]; echo"<br>巨细:".$file["size"]."bytes"; if($watermark==1) { $iinfo=getimagesize($destination,$iinfo); $nimage=imagecreatetruecolor($image_size[0],$image_size[1]); $white=imagecolorallocate($nimage,255,255,255); $black=imagecolorallocate($nimage,0,0,0); $red=imagecolorallocate($nimage,255,0,0); imagefill($nimage,0,0,$white); switch($iinfo[2]) { case1: $simage=imagecreatefromgif($destination); break; case2: $simage=imagecreatefromjpeg($destination); break; case3: $simage=imagecreatefrompng($destination); break; case6: $simage=imagecreatefromwbmp($destination); break; default: die("不支撑的文件范例"); exit; } imagecopy($nimage,$simage,0,0,0,0,$image_size[0],$image_size[1]); imagefilledrectangle($nimage,1,$image_size[1]-15,80,$image_size[1],$white); switch($watertype) { case1://加水印字符串 imagestring($nimage,2,3,$image_size[1]-15,$waterstring,$black); break; case2://加水印图片 $simage1=imagecreatefromgif("xplore.gif"); imagecopy($nimage,$simage1,0,0,0,0,85,15); imagedestroy($simage1); break; } switch($iinfo[2]) { case1: //imagegif($nimage,$destination); imagejpeg($nimage,$destination); break; case2: imagejpeg($nimage,$destination); break; case3: imagepng($nimage,$destination); break; case6: imagewbmp($nimage,$destination); //imagejpeg($nimage,$destination); break; } //笼罩原上传文件 imagedestroy($nimage); imagedestroy($simage); } if($imgpreview==1) { echo"<br>图片预览:<br>"; echo"<imgsrc="".$destination.""width=".($image_size[0]*$imgpreviewsize)."height=".($image_size[1]*$imgpreviewsize); echo"alt="图片预览:r文件名:".$destination."r上传时光:">"; } } ?> </body> </html>这段代码是我在完成利用中常常用到地,拿进去盼望给列位一小点点关心.

上一篇:zend框架关于基地址-网络编程

下一篇:没有了