對於昨天說的文件上傳失敗找到原因:上傳文件過大,所有沒有反應的。。
主要還是一些細節處理的不好。。。
下面代碼有一部分是轉載別人的,感覺寫的很嚴謹,故收藏了。。。。
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);
}