修改php.ini
1.file_uploads=on/off
是否允許通過http方式上傳文件
2.max_execution_time=30
允許腳本最大執行時間,超過這個時間就會報錯
3.upload_max_filesize=20M
允許上傳文件的最大大小,此指令必須小於post_max_size
4.upload_tmp_dir
上傳文件臨時存放目錄
5.post_max_size=30M
允許post方式可以接受最大大小
$_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.
文件被上傳結束后,默認地被存儲在了臨時目錄中,這時您必須將它從臨時目錄中刪除或移動到其它地方,如果沒有,則會被刪除。
也就是不管是否上傳成功,腳本執行完后臨時目錄里的文件肯定會被刪除。
如果上傳的文件是大文件:
1.修改php的超時時間:
第一種方式:修改php.ini 里面max_execution_time=0(默認為30)
第二種方式:PHP腳本內設置超時時間set_time_limit(0)
2.修改 POST 數據所允許的最大大小
修改php.ini 里面post_max_size的值
3.修改上傳所允許的最大大小
修改php.ini 里面upload_max_filesize的值
建議:post_max_size 大於 upload_max_filesize 為佳
文件上傳成功之后需要移動到所需要的地方
move_uploaded_file($_FILES["file"]["tmp_name"], "路徑+名稱" )