為什么我就是匹配不到錯誤信息呢
<?php header("Content-type:text/html;charset=utf-8"); //print_r($_FILES); $name=$_FILES['up']['name']; $type=$_FILES['up']['type']; $size=$_FILES['up']['size']; $tmp=$_FILES['up']['tmp_name']; $error=$_FILES['up']['error']; if($error==UPLOAD_ERR_OK){ ????if(move_uploaded_file($tmp,'uploads/'.$name)){ ????echo"文上傳成功"; ????}else{ ????????echo?"文件上傳失敗"; ????????} ????}else{ ????????switch($error){ ????????????case?1: ????????????echo"上傳的文件超過了最大值"; ????????????break; ????????????case?2: ????????????echo"上傳文件的大小超過了?HTML?表單中?MAX_FILE_SIZE?選項指定的值。"; ????????????break; ????????????case?3: ????????????echo"文件只有部分被上傳。"; ????????????break; ????????????case?4: ????????????echo"沒有文件被上傳。"; ????????????break; ????????????case?6: ????????????echo"找不到臨時文件夾。"; ????????????break; ????????????case?7: ????????????echo"文件寫入失敗。"; ????????????break;???????????? ????????????} ????} ?>
為什么我就是匹配不到錯誤信息呢,上傳失敗不顯示任何錯誤信息,只是提示“上傳失敗”,跟我的環境有關嗎,MAC下的MAMP PRO。用老師的原版代碼也是一樣的結果,我根本獲取不到$_FILES[MYFORM]中的['error']的值,直接print_r這個值都不顯示,什么原因?
2016-03-29
發一下upload.php
2015-09-17
如果你確定只提示“上傳失敗",從你的代碼邏輯看,可以確定你實質上傳文件到服務器是成功。只不過使用move_uploaded_file($tmp,'uploads/'.$name),進行服務器臨時文件復制移動時沒有成功。因此,請確定兩點:
上傳文件所在的路徑是否正確
你所上傳的文件名是否非英文,若非英文請在進行move_uploaded_file()之前,將新文件名(即$name)進行操作系統所使用相應編碼轉換。