首頁 >後端開發 >php教程 >PHP上傳檔案的簡單範例與說明

PHP上傳檔案的簡單範例與說明

WBOY
WBOY原創
2016-07-29 09:12:22771瀏覽

上傳檔案範例

先建立一個可以上傳檔案的表單

<code><span><<span>html</span>></span><span><<span>body</span>></span><span><<span>form</span><span>action</span>=<span>"upload.php"</span><span>method</span>=<span>"post"</span><span>enctype</span>=<span>"multipart/form-data"</span>></span><span><<span>input</span><span>type</span>=<span>"file"</span><span>name</span>=<span>"file"</span>/></span><span><<span>input</span><span>type</span>=<span>"submit"</span><span>value</span>=<span>"submit"</span><span>name</span>=<span>"submit"</span>></span><span></<span>form</span>></span><span></<span>body</span>></span><span></<span>html</span>></span></code>

表單中,提交後會交給upload.php處理,我們寫個最簡單的上傳處理程序造訪提交頁面,提交表單,可以看到以下輸出:

<code><span><?php</span>
var_dump(<span>$_POST</span>);
var_dump(<span>$_FILES</span>);

<span>$uploadPath</span> = <span>'./upload/'</span>;
<span>$tempFileName</span> = <span>$_FILES</span>[<span>'file'</span>][<span>'tmp_name'</span>];
<span>$uploadFileName</span> = <span>$uploadPath</span>.<span>$_FILES</span>[<span>'file'</span>][<span>'name'</span>];
<span>if</span>(move_uploaded_file(<span>$tempFileName</span>,<span>$uploadFileName</span>)){
  <span>echo</span><span>'upload success'</span>;
}<span>else</span>{
  <span>echo</span><span>'upload fail'</span>;
}</code>

輸出說明兩點:

type=file的input提交的內容會出現在
    $_FILES
  1. 數組中。以input的name欄位作為它在$_FILES數組中的索引type=file的input提交的內容會繼續出現在
  2. $_POST
  3. 數組。
$_FILES

數組中每個檔案對應的陣列的結構如下:

    name
  • 上傳檔案的檔案名稱的類型 PHP
  • 上傳檔案
  • 後,會先存在暫存目錄中,tmp_name顯示的就是這個暫存檔案的路徑error 存放錯誤碼
  • size PH元( 上傳檔案
  • 的想法還是比較簡單的,檔案上傳後,訊息會保存在
  • $_FILES數組中,你可以根據需要對檔案進行驗證(例如後綴名啥的),然後使用move_uploaded_file函數把臨時檔案拷貝到你的上傳目錄中去。
  • 注意事項
  • from表單必須設定enctype="multipart/form-data"屬性,否則無法上傳

上傳路徑的資料夾必須存在,否則報錯哈核上傳的文件,請使用move_uploaded_file函數。因為函數會驗證暫存檔案是否為透過PHP上傳的文件,這樣可以避免錯誤地將系統檔案拷貝到上傳目錄中。

如果有需要,你可以用

is_uploaded_file

判斷一個檔案是否是透過PHP上傳的。
  • 如果move_uploaded_file的第二個參數對應路徑的檔案已經存在,將會被覆寫。
  • 參考資料:

  • PHP 檔案上傳

    PHP: move_uploaded_file - Manual

  • ').addClass('pre-numbering').h(ide); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i
  • ').text(i)); }; $numbering.fadeIn(1700); }); }); 以上就介紹了PHP上傳檔案的簡單例子與說明,包括了上傳檔案,索引方面的內容,希望對PHP教學有興趣的朋友有所幫助。
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn