PHP 添加水印

来源:互联网 发布:万网阿里云 编辑:程序博客网 时间:2024/04/30 08:00
<?php require 'config.inc.php';if (isset($_POST['send'])) {$img = $_FILES['img'];if (is_uploaded_file($img['tmp_name']) && is_array($img)) {$name = $img["name"];$type = $img["type"];$size = $img["size"];if ( $size > ceil("530000") ) {echo "<script>alert('图片大小超过500kb,无法上传')</script>";break;}$cur_time = date("Y-m-d H:i:s");$tmp_name = $img["tmp_name"];//求出上传图片的名称后缀$ext_name = strtolower(substr($name, strrpos($name, '.'), strlen($name)));$new_name='jzy_' . time() . rand(1000,9999) . $ext_name ;$store_path = ROOT_PATH . UPDIR . $new_name;//求上传图片高宽$imginfo = getimagesize($tmp_name);$width = $imginfo[0];$height = $imginfo[1]; //添加图片水印             switch($ext_name) {case '.gif':$dst_im = imagecreatefromgif($tmp_name);break;case '.jpg':$dst_im = imagecreatefromjpeg($tmp_name);break;case '.png':$dst_im = imagecreatefrompng($tmp_name);break;default:echo "<script>alert('上传图片格式不正确,请上传gif jpeg或png格式的图片!')</script>";break;}$src_im = imagecreatefrompng(IMG_PATH . 'logo.png');//求水印图片高宽$src_imginfo = getimagesize(IMG_PATH . 'logo.png');$src_width = $src_imginfo[0];$src_height = $src_imginfo[1];//求出水印图片的实际生成位置$src_x = $width - $src_width - 10;$src_y = $height - $src_height - 10;//新建一个真彩色图像$nimage = imagecreatetruecolor($width, $height);               //拷贝上传图片到真彩图像imagecopy($nimage, $dst_im, 0, 0, 0, 0, $width, $height);          //按坐标位置拷贝水印图片到真彩图像上imagecopy($nimage, $src_im, $src_x, $src_y, 0, 0, $src_width, $src_height);//分情况输出生成后的水印图片switch($ext_name) {case '.gif':imagegif($nimage, $tmp_name);break;case '.jpg':imagejpeg($nimage, $tmp_name);break;case '.png':imagepng($nimage, $tmp_name);break;     }//释放资源 imagedestroy($dst_im);imagedestroy($src_im);unset($imginfo);unset($src_imginfo);//移动生成后的图片@move_uploaded_file($tmp_name, ROOT_PATH.UPDIR . $new_name);}}?><form action="" name="frm" method="post" enctype="multipart/form-data"><input type="file" name="img" /> <input type="submit" value="上传" name="send" /></form>


0 0
原创粉丝点击