php上傳圖片 繼上一篇上傳失敗原因

對於昨天說的文件上傳失敗找到原因:上傳文件過大,所有沒有反應的。。

主要還是一些細節處理的不好。。。

下面代碼有一部分是轉載別人的,感覺寫的很嚴謹,故收藏了。。。。微笑

public function add() {
header("Content-Type:text/html; charset=utf-8");
//圖片上傳
$type=array("jpg","gif","bmp","jpeg","png");   //圖片的類型
$uploaddir="Public/upload/images/";
if(isset($_FILES['file'])) {
$upload_status=$_FILES['file']["error"]; //獲取文件出錯情況
switch($upload_status) 
   { 
         case 0:echo "";break; 
         case 1:echo "上傳的文件超過了 php.ini 中 upload_max_filesize 選項限制的值。";break; 
         case 2:echo "上傳文件的大小超過了 HTML 表單中 MAX_FILE_SIZE 選項指定的值。";break; 
         case 3:echo "文件只有部分被上傳。";break; 
         case 4:return "";break; 
         case 6:echo "沒有找到臨時文件目錄。";break; 
         case 7:echo "文件寫入失敗。";break; 
   } //分析文件出錯情況並給出提示 

$image_file=$_FILES['file']['name'];
$image_tmp=$_FILES['file']['tmp_name'];
$uptype=strtolower(substr(strrchr($image_file,'.'), 1));


if(!in_array($uptype, $type)){
$this->error('您選的圖片不符合類型');
}
$uploadimage=$uploaddir.$image_file;
if(file_exists($uploadimage)) {
echo "存在相同的文件名";
exit;
}

move_uploaded_file($image_tmp,$uploadimage);

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章