$val) { $updatename="{$key}"; } $file=$file; $name=$file[$updatename]['name']; //文件名稱 $size=$file[$updatename]['size']; //文件大小 $type=$file[$updatename]['type']; //文件類型 $tmp_name=$file[$updatename]['tmp_name']; //文件臨時(shí)文件 $error=$file[$updatename]['error']; //文件錯(cuò)誤 if(($error)) { switch($error) { case 1: $s="超過了配置的大小"; break; case 2: $s="超過了表單的大小"; break; case 3: $s="部分文件上傳"; break; case 4: $s="沒有文件"; break; case 6: $s="找不到臨時(shí)文件"; break; case 7: $s="文件不可寫"; break; case 8: $s="由于擴(kuò)展PHP程序中斷文件上傳"; break; } $re='上傳的錯(cuò)誤提示'; return $s.'>'.$re; } else { //判斷是否是數(shù)組中的類型 $arr=array('p_w_picpath/jpeg','p_w_picpath/jpg','p_w_picpath/png','p_w_picpath/gif'); if(!in_array($type,$arr)) { $re='上傳的錯(cuò)誤提示'; $s='上傳的格式不對'; return $s.'>'.$re; exit; } //判斷是否是http post提交 if(!is_uploaded_file($tmp_name)) { $re='上傳的錯(cuò)誤提示'; $s='此文件不是通過post提交'; return $s.'>'.$re; exit; } else { //獲取真實(shí)的名字,以時(shí)間為命名 $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 ""; if($kaiqi==true) { return $path.'*'.$ys."@"; } else { return $path.'*'; } } else { return "上傳失敗"; } } } } } public function yasuo($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 創(chuàng)建一個(gè)新圖象,原來的圖片 $yasuo_p_w_picpath=p_w_picpathcreatetruecolor($W,$H); //這是創(chuàng)建一個(gè)新的畫布,存放目標(biāo)圖片 p_w_picpathcopyresampled($yasuo_p_w_picpath,$yuanben_p_w_picpath,0,0,0,0,$W,$H,$width,$height); //p_w_picpathcopyresampled 重采樣拷貝部分圖像并調(diào)整大小 //p_w_picpathcopyresampled(目標(biāo)圖象連接資源,源圖象連接資源,目標(biāo) X 坐標(biāo)點(diǎn),目標(biāo) Y 坐標(biāo)點(diǎn),源的 X 坐標(biāo)點(diǎn),源的 Y 坐標(biāo)點(diǎn),目標(biāo)寬度,目標(biāo)高度,源圖象的寬度,源圖象的高度); //header('content-type: $get_style'); //頭部輸出圖片的類型 header('Content-Type: p_w_picpath/jpeg'); $p_w_picpathjpeg($yasuo_p_w_picpath,"$yasuo_path/".'yasuo'.$this->picname); //網(wǎng)頁中輸出的圖片類型,壓縮圖保存的位置 return "$yasuo_path/".'yasuo'.$this->picname; p_w_picpathdestroy($yasuo_p_w_picpath); //銷毀壓縮后的圖片 p_w_picpathdestroy($yuanben_p_w_picpath); //銷毀原來的圖片 } } ?>
PHP后臺上傳圖片加壓縮圖片,個(gè)人是新手,若有錯(cuò)誤,請多多包涵》
創(chuàng)新互聯(lián)從2013年成立,公司以網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、系統(tǒng)開發(fā)、網(wǎng)絡(luò)推廣、文化傳媒、企業(yè)宣傳、平面廣告設(shè)計(jì)等為主要業(yè)務(wù),適用行業(yè)近百種。服務(wù)企業(yè)客戶成百上千,涉及國內(nèi)多個(gè)省份客戶。擁有多年網(wǎng)站建設(shè)開發(fā)經(jīng)驗(yàn)。為企業(yè)提供專業(yè)的網(wǎng)站建設(shè)、創(chuàng)意設(shè)計(jì)、宣傳推廣等服務(wù)。 通過專業(yè)的設(shè)計(jì)、獨(dú)特的風(fēng)格,為不同客戶提供各種風(fēng)格的特色服務(wù)。