檔案上傳,其學習步驟如下:
①學習如何控制上傳檔案(配置php.ini檔案)
②學習對上傳檔案判斷(判斷上傳檔案的格式、大小)
③學習執行檔案上傳操作的方法
1、開啟檔案上傳功能
在php.ini中修改file_uploads項的以下引數:
file_uploads:on伺服器支援檔案上傳;
upload_tmp_dir:上傳檔案臨時目錄。在檔案被成功上傳之前,檔案首先存放到伺服器端的臨時目錄中。
upload_max_filesize:伺服器允許上傳檔案大小的最大值,以mb為單位。系統預設為2mb。
在php.ini中還有其他幾個選項會影響到檔案的上傳:
max_execution_time:php中乙個指令所能執行的最大時間,單位是秒。該選項在上傳超大檔案時必須要修改,否則即使上傳檔案在伺服器允許的範圍內,但是超過了指令所能執行的最大時間,仍然無法實現上傳。
memory_limit:php中乙個指令所分配的記憶體空間。單位是mb。它的大小同樣會影響到超大檔案的上傳。
2、全域性變數$_files
對上傳檔案進行判斷應用的是全域性變數$_files,$_files是乙個陣列,它包含所有上傳的檔案資訊。
3、將上傳檔案移動到指定目錄
php中應用move_uploaded_file()函式實現檔案上傳。但是,在執行檔案上傳之前,為了防止潛在的攻擊對原本不能通過指令碼互動的檔案進行非法管理,可以先應用is_uploaded_file()函式判斷指定的檔案是否是通過http post上傳的,如果是返回true,則可以繼續執行檔案的上傳操作,否則將不能夠繼續執行。
bool is_uploaded_file( string filename)
//filename必須指定類似於$_files['filename']['tmp_name']的變數,不可以使用從客戶端上傳的檔名$_files['filename']['name']。
bool move_uploaded_file( string filename, string destination)
move_uploaded_file()將檔案上傳到伺服器中指定的位置。其引數filename指定上傳檔案的臨時檔名;destination指定檔案上傳後儲存的新路徑和名稱。
header()函式,屬於http函式。其作用是以http協議將html文件的標頭送到瀏覽器,並告訴瀏覽器具體怎麼處理這個頁面。
header('content-type:image/jpg');//設定型別
?>
php之檔案上傳
寫乙個表單檔案upload.html 處理表單的檔案 upload.php if files userfile error 0 exit 判斷檔案是不是正確的mime格式 if files userfile type text plain 將檔案放到指定的地方 upfile uploads file...
PHP之檔案上傳
注意事項 1 表單中enctype multipart form data 是用於設定表單的mime編碼。2 全域性變數 files的應用 files file name 為上傳檔案的原檔名 files file type 為上傳檔案的 mime 型別 files file size 已上傳檔案的大...
php檔案上傳之單檔案上傳
為了簡單一些,php檔案跟form表單寫在了乙個檔案裡.php單檔案上傳 1236 71213 1415 1617 18if empty files 45 exit msg error 46 47 filename fileinfo name 48 獲取檔案的副檔名 49 ext strtolowe...