PHP后台上传图片
<?php/*by的雨*/date_default_timezone_set('Asia/Chongqing');header("content-type:text/html;charset=utf-8");//这是上传图片的类classUpdateclass{public$pathall;public$picname;publicfunctionupdate($file,$kaiqi=false,$w=0,$H=0){//return$file;die;foreach($fileas$key=>$val){$updatename="{$key}";}$file=$file;$name=$file[$updatename]['name'];//文件名称$size=$file[$updatename]['size'];//文件大小$type=$file[$updatename]['type'];//文件类型$tmp_name=$file[$updatename]['tmp_name'];//文件临时文件$error=$file[$updatename]['error'];//文件错误if(($error)){switch($error){case1:$s="超过了配置的大小";break;case2:$s="超过了表单的大小";break;case3:$s="部分文件上传";break;case4:$s="没有文件";break;case6:$s="找不到临时文件";break;case7:$s="文件不可写";break;case8:$s="由于扩展PHP程序中断文件上传";break;}$re='上传的错误提示';return$s.'>'.$re;}else{//判断是否是数组中的类型$arr=array('p_w_picpath/jpeg','p_w_picpath/jpg','p_w_picpath/png','p_w_picpath/gif');if(!in_array($type,$arr)){$re='上传的错误提示';$s='上传的格式不对';return$s.'>'.$re;exit;}//判断是否是httppost提交if(!is_uploaded_file($tmp_name)){$re='上传的错误提示';$s='此文件不是通过post提交';return$s.'>'.$re;exit;}else{//获取真实的名字,以时间为命名$NAME=date('Ymd',time()).rand(0,999999999);$hou=explode('.',$name);$houzui=$hou[count($hou)-1];$p=date('Ym');$path='uploade/'.$p;$this->pathall=$path;$this->picname=$NAME.'.'.$houzui;if(!is_dir($path)){mkdir($path,0777,true);$path=$path.'/'.$NAME.'.'.$houzui;if(move_uploaded_file($tmp_name,$path)){if($kaiqi==true){$ys=$this->yasuo($path,$w,$H);}if($kaiqi==true){return$path.'*'.$ys."@";}else{return$path.'*';}}else{return"上传失败";}}else{$path=$path.'/'.$NAME.'.'.$houzui;if(move_uploaded_file($tmp_name,$path)){if($kaiqi==true){$yasuo=$this->yasuo($path,$w,$H);}///echo"<divstyle=\"width:400px\"><imgwidth=\"400px\"src=\"$path\"></div>";if($kaiqi==true){return$path.'*'.$ys."@";}else{return$path.'*';}}else{return"上传失败";}}}}}publicfunctionyasuo($from,$W,$H){$yasuo_path=$this->pathall.'/'.date('Ym');if(!is_dir($yasuo_path)){mkdir($yasuo_path,0777,true);}$from="$from";list($width,$height,$p_w_picpathstype)=getp_w_picpathsize($from);//获得原来照片的宽,高,文件类型$get_style=p_w_picpath_type_to_mime_type($p_w_picpathstype);//这是获取图片类型p_w_picpath/jpeg//等同于$get_style=getp_w_picpathsize($from)[mine];$p_w_picpathcreatefrom=str_replace('/','createfrom',$get_style);//替换成p_w_picpathcreatefromjpeg$p_w_picpathjpeg=str_replace('/',null,$get_style);//替换成p_w_picpathjpeg$yuanben_p_w_picpath=$p_w_picpathcreatefrom($from);//p_w_picpathcreatefromjpeg()由文件或URL创建一个新图象,原来的图片$yasuo_p_w_picpath=p_w_picpathcreatetruecolor($W,$H);//这是创建一个新的画布,存放目标图片p_w_picpathcopyresampled($yasuo_p_w_picpath,$yuanben_p_w_picpath,0,0,0,0,$W,$H,$width,$height);//p_w_picpathcopyresampled重采样拷贝部分图像并调整大小//p_w_picpathcopyresampled(目标图象连接资源,源图象连接资源,目标X坐标点,目标Y坐标点,源的X坐标点,源的Y坐标点,目标宽度,目标高度,源图象的宽度,源图象的高度);//header('content-type:$get_style');//头部输出图片的类型header('Content-Type:p_w_picpath/jpeg');$p_w_picpathjpeg($yasuo_p_w_picpath,"$yasuo_path/".'yasuo'.$this->picname);//网页中输出的图片类型,压缩图保存的位置return"$yasuo_path/".'yasuo'.$this->picname;p_w_picpathdestroy($yasuo_p_w_picpath);//销毁压缩后的图片p_w_picpathdestroy($yuanben_p_w_picpath);//销毁原来的图片}}?>
PHP后台上传图片加压缩图片,个人是新手,若有错误,请多多包涵》
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。