上傳檔案範例
先建立一個可以上傳檔案的表單
<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提交的內容會出現在name
欄位作為它在$_FILES
數組中的索引
。 type=file的input提交的內容會繼續出現在
數組中每個檔案對應的陣列的結構如下:
上傳檔案
的檔案名稱的類型 PHP
error 存放錯誤碼size
PH元( 上傳檔案數組中,你可以根據需要對檔案進行驗證(例如後綴名啥的),然後使用move_uploaded_file函數把臨時檔案拷貝到你的上傳目錄中去。
from表單必須設定enctype="multipart/form-data"屬性,否則無法上傳上傳路徑的資料夾必須存在,否則報錯哈核上傳的文件,請使用move_uploaded_file函數。因為函數會驗證暫存檔案是否為透過PHP上傳的文件,這樣可以避免錯誤地將系統檔案拷貝到上傳目錄中。
is_uploaded_file
判斷一個檔案是否是透過PHP上傳的。move_uploaded_file
的第二個參數對應路徑的檔案已經存在,將會被覆寫。 參考資料:
PHP: move_uploaded_file - Manual
以上就介紹了PHP上傳檔案的簡單例子與說明,包括了上傳檔案,索引方面的內容,希望對PHP教學有興趣的朋友有所幫助。