在我們的日常PHP開發中很常的會使用到上傳,上傳中不得不說的$_FILES系統函數,它又代表著哪些東西呢,本篇文章就來詳細的講講PHP中的系統函數$_FILES。
如:
<form enctype="multipart/form-data" action="upload.php" method="post"> <input type="hidden" name="MAX_FILE_SIZE" value="1000"> <input name="myFile" type="file"> <input type="submit" value="上传文件"> </form>
然後upload.php中可以直接用
$_FILES
$_POST
$_GET
等函數取得表單內容。
今天我們著重講$_FILES函數。
當客戶端提交後,我們得到了一個$_FILES 數組
$_FILES數組內容如下:
$_FILES['myFile']['name'] //客户端文件的原名称。 $_FILES['myFile']['type'] //文件的 MIME 类型,需要浏览器提供该信息的支持,例如"image/gif"。 $_FILES['myFile']['size'] //已上传文件的大小,单位为字节。 $_FILES['myFile']['tmp_name'] //文件被上传后在服务端储存的临时文件名,一般是系统默认。可以在php.ini的upload_tmp_dir 指定,但 用 putenv() 函数设置是不起作用的。 $_FILES['myFile']['error'] //和该文件上传相关的错误代码。['error'] 是在 PHP 4.2.0 版本中增加的。下面是它的说明:(它们在PHP3.0以后成了常量)
UPLOAD_ERR_OK
值:0; 沒有錯誤發生,文件上傳成功。
UPLOAD_ERR_INI_SIZE
值:1; 上傳的檔案超過了 php.ini 中 upload_max_filesize 選項限制的值。
UPLOAD_ERR_FORM_SIZE
值:2; 上傳檔案的大小超過了 HTML 表單中 MAX_FILE_SIZE 選項指定的值。
UPLOAD_ERR_PARTIAL
值:3; 檔案只有部分上傳。
UPLOAD_ERR_NO_FILE
值:4; 沒有檔案被上傳。
值:5; 上傳檔案大小為0.
檔案被上傳結束後,預設地儲存在了臨時目錄中,這時您必須將它從臨時目錄中刪除或移動到其它地方,如果沒有,則會被刪除。也就是不管是否上傳成功,腳本執行完後臨時目錄裡的檔案一定會被刪除。所以在刪除之前要用PHP的 copy() 函數將它複製到其它位置,此時,才算完成了上傳檔案過程。
相關建議:
以上是PHP中$_FILES函數細說的詳細內容。更多資訊請關注PHP中文網其他相關文章!