處理檔案上傳錯誤
$_FILES["FILE_NAME"]['error']
(其中 FILE_NAME
是檔案輸入的 name 屬性的值,存在於表單中)可能包含以下值之一:
UPLOAD_ERR_OK
- 沒有錯誤,檔案上傳成功。UPLOAD_ERR_INI_SIZE
- 上傳的檔案超過了php.ini
中的 upload_max_filesize 指令。UPLOAD_ERR_PARTIAL
- 上傳的檔案超出了 HTML 表單中指定的 MAX_FILE_SIZE 指令。UPLOAD_ERR_NO_FILE
- 沒有上傳檔案。UPLOAD_ERR_NO_TMP_DIR
- 缺少一個臨時資料夾。 (來自 PHP 5.0.3)。UPLOAD_ERR_CANT_WRITE
- 無法將檔案寫入磁碟。 (來自 PHP 5.1.0)。UPLOAD_ERR_EXTENSION
- PHP 擴充套件程式停止了檔案上傳。 (來自 PHP 5.2.0)。
檢查錯誤的基本方法如下:
<?php
$fileError = $_FILES["FILE_NAME"]["error"]; // where FILE_NAME is the name attribute of the file input in your form
switch($fileError) {
case UPLOAD_ERR_INI_SIZE:
// Exceeds max size in php.ini
break;
case UPLOAD_ERR_PARTIAL:
// Exceeds max size in html form
break;
case UPLOAD_ERR_NO_FILE:
// No file was uploaded
break;
case UPLOAD_ERR_NO_TMP_DIR:
// No /tmp dir to write to
break;
case UPLOAD_ERR_CANT_WRITE:
// Error writing to disk
break;
default:
// No error was faced! Phew!
break;
}