為什么我就是匹配不到錯(cuò)誤信息呢
<?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"上傳的文件超過(guò)了最大值"; ????????????break; ????????????case?2: ????????????echo"上傳文件的大小超過(guò)了?HTML?表單中?MAX_FILE_SIZE?選項(xiàng)指定的值。"; ????????????break; ????????????case?3: ????????????echo"文件只有部分被上傳。"; ????????????break; ????????????case?4: ????????????echo"沒(méi)有文件被上傳。"; ????????????break; ????????????case?6: ????????????echo"找不到臨時(shí)文件夾。"; ????????????break; ????????????case?7: ????????????echo"文件寫(xiě)入失敗。"; ????????????break;???????????? ????????????} ????} ?>
為什么我就是匹配不到錯(cuò)誤信息呢,上傳失敗不顯示任何錯(cuò)誤信息,只是提示“上傳失敗”,跟我的環(huán)境有關(guān)嗎,MAC下的MAMP PRO。用老師的原版代碼也是一樣的結(jié)果,我根本獲取不到$_FILES[MYFORM]中的['error']的值,直接print_r這個(gè)值都不顯示,什么原因?
2016-03-29
發(fā)一下upload.php
2015-09-17
如果你確定只提示“上傳失敗",從你的代碼邏輯看,可以確定你實(shí)質(zhì)上傳文件到服務(wù)器是成功。只不過(guò)使用move_uploaded_file($tmp,'uploads/'.$name),進(jìn)行服務(wù)器臨時(shí)文件復(fù)制移動(dòng)時(shí)沒(méi)有成功。因此,請(qǐng)確定兩點(diǎn):
上傳文件所在的路徑是否正確
你所上傳的文件名是否非英文,若非英文請(qǐng)?jiān)谶M(jìn)行move_uploaded_file()之前,將新文件名(即$name)進(jìn)行操作系統(tǒng)所使用相應(yīng)編碼轉(zhuǎn)換。