前台
后台
if(!empty($_POST)){ if(!empty($_FILES['pic']['tmp_name'])) { //创建文件夹来存放上传的图片,子文件夹的名字是日期 $Y=date("Y",time()); $M=date("m",time()); $D=date("d",time()); if(!file_exists("uploads/$Y/$M/$D")) { //mkdir不能跨文件夹创建文件夹,如果想需要7777(权限) mkdir("uploads/$Y/$M/$D",7777,true); } //上传图片的命名 //上传文件的名称包括后缀名 $file=$_FILES['pic']['name']; //获取其后缀,字符串截取。 //strrpos() 函数查找字符串在另一个字符串中最后一次出现的位置。substr() 函数返回字符串的一部分 $files_type=substr($file,strrpos($file,'.')); //重新定义名字,由时间戳和4个随即数组成 $beforname=time().mt_rand(1111,9999); $file_name=$beforname.$files_type; //新文件路径 $file_path="uploads/$Y/$M/$D/".$file_name; //将上传的文件移动到新位置。 move_uploaded_file($_FILES['pic']['tmp_name'],$file_path); //数据库存入文件路径,以便读取。 $_POST['pic']=$file_path; //缩略图的名称;与文件名关联 $thumname="uploads/$Y/$M/$D/".$beforname.'_thum'.$files_type; //把缩略图路径存入数据库 $_POST['pic_thumb']=thumb($file_path,$thumb_img =$thumname ); //给图片添加水印 water($file_path,$water_file ='watermark.png'); } }
图片处理函数
75 //宽 [1] => 150 //高 [2] => 2 //图像类型的标记 1 = GIF,2 = JPG,3 = PNG 详见手册 [3] => width="75" height="150" //html标记,用于html [bits] => 8 // [channels] => 3 // [mime] => image/jpeg //类型 ) */ //获取水印图 $water_im = imagecreatefrompng($water_file); //获取水印图信息 //$water_info = getimagesize($water_file); $alpha =90;//透明度 //生成水印图 //imagecopymerge($dst_im,$water_im,100,100,0,0,100,100,$alpha);//水印图留有白底 imagecopy($dst_im,$water_im,100,100,0,0,100,100);//水印图无法透明,但不会留白底 imagepng($dst_im,$dst_file); //销毁图像 imagedestroy($dst_im); imagedestroy($water_im);}