代码如下 | 复制代码 |
<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.111cn.net/1999/xhtml"> <head> <meta content="text/html; charset=utf-8" http-equiv="content-type" /> <title></title> <script language="网页特效" type="text/网页特效"> function addinput()//增加input节点 { var input=document.createelement('input');//创建一个input节点 var br=document.createelement('br');//创建一个br节点 input.setattribute('type','file');// 设置input节点type属性为file input.setattribute('name','files[]');//设置input节点 name属性为files[],以 数组的方式传递给服务器端 document.form1.appendchild(br);//把节点添加到 form1表单中 document.form1.appendchild(input); } </script> </head> <?php if($_post['sub']=="www") { $waterimg="water.png"; $ftype=array('image/jpg','image/jpeg','imgage/png','image/pjpeg','image/gif');//允许上传的文件类型 $files=$_files['files']; $fnum=count($files['name']); //取得上传文件个数 for($i=0;$i<$fnum;$i++) { if($files['name'][$i]!=''&&is_uploaded_file($files['tmp_name'][$i])) { if(in_array($files['type'][$i],$ftype))//判断文件是否是允许的类型 { $fname[$i]='upfile/'.rand(0,10000).time().substr($files['name'] [$i],strrpos($files['name'][$i],'.'));//自动命名 move_uploaded_file($files['tmp_name'][$i],$fname[$i]); echo '<br/>文件上传成功!'; } else { echo '<br/>不允许的文件类型!'; exit; } } else { echo '<br/>该文件不存在!'; exit; } watermark($fname[$i],$waterimg); } $string=implode('|',$fname); echo $string; } ?> <body> <form name="form1" method="post" action="" enctype="multipart/form-data" > <input type="file" name="files[]" id="files[]" /> <input type="submit" name="sub" value="上传"/> <input name="sub" type="hidden" id="sub" value="www" /> </form> <a href="#" onclick="addinput()">再上传一张</a> <? /** * 为图片加水印 * @param string $desimg 目标图片 参数格式为 ./images/pic.jpg * @param string $waterimg 水印图片 参数格式同上,水印图片为 png格式,背景透明 * @param int positon 水印地位 1:顶部居左 2:顶部居右 3:居中 4 :底部居左 5:底部居右 * @param bool $saveas 能否另存为,默许值false,默示笼盖原图 * @param int $alpha 水印图片的不通明度 * @return string $savepath 新图片的途径 * **/ function watermark($desimg,$waterimg,$positon=1,$saveas=false,$alpha=30) { //获取目图片的根基信息 $temp=pathinfo($desimg); $name=$temp["basename"];//文件名 $path=$temp["dirname"];//文件地点的文件夹 $extension=$temp["extension"];//文件扩展名 if($saveas) { //需要另存为 $name=rtrim($name,".$extension")."_2.";//从头命名 $savepath=$path."/".$name.$extension; } else { //不需要另存为则笼盖原图 $savepath=$path."/".$name; } $info=getimageinfo($desimg);//获取目标图片的信息 $info2=getimageinfo($waterimg);//获取水印图片的信息 $desimg=create($desimg);//从原图创立 $waterimg=create($waterimg);//从水印图片创立 //地位1:顶部居左 if($positon==1) { $x=0; $y=0; } //地位2:顶部居右 if($positon==2) { $x=$info[0]-$info2[0]; $y=0; } //地位3:居中 if($positon==3) { $x=($info[0]-$info2[0])/2; $y=($info[1]-$info2[1])/2; } //地位4:底部居左 if($positon==4) { $x=0; $y=$info[1]-$info2[1]; } //地位5:底部居右 if($positon==5) { $x=$info[0]-$info2[0]; $y=$info[1]-$info2[1]; } imagecopymerge($desimg,$waterimg,$x,$y,0,0,$info2[0],$info2[1],$alpha); imagejpeg($desimg,$savepath); imagedestroy($desimg); imagedestroy($waterimg); return $savepath; } /** * 获取图片的信息,width,height,image/type * @param string $src 图片途径 * @return 数组 * **/ function getimageinfo($src) { return getimagesize($src); } /** * 创立图片,前往本钱范例 * @param string $src 图片途径 * @return resource $im 前往本钱范例 * **/ function create($src) { $info=getimageinfo($src); switch ($info[2]) { case 1: $im=imagecreatefromgif($src); break; case 2: $im=imagecreatefromjpeg($src); break; case 3: $im=imagecreatefrompng($src); break; } return $im; } ?> |
</body>
</html>
时间: 2024-09-30 13:00:56