嘿,我只是想知道,你如何使用PHP上傳文件直接到您的網站?例如將文件上傳到網站?
:
人使用瀏覽按鈕查找要上傳的文件,然後一旦選定的文件目錄中的一個文本框出現,當他們點擊「上傳」按鈕,上傳至一個目錄網站命名爲「上傳」。
有人能告訴我如何做到這一點,也許解釋一些關於或鏈接到一個資源,這將幫助我嗎?
謝謝。
嘿,我只是想知道,你如何使用PHP上傳文件直接到您的網站?例如將文件上傳到網站?
:
人使用瀏覽按鈕查找要上傳的文件,然後一旦選定的文件目錄中的一個文本框出現,當他們點擊「上傳」按鈕,上傳至一個目錄網站命名爲「上傳」。
有人能告訴我如何做到這一點,也許解釋一些關於或鏈接到一個資源,這將幫助我嗎?
謝謝。
有一個表格,把一個文件輸入它:
<form name="my_form" method="post" enctype="multipart/form-data" action="my_php_script.php">
<input type="file" name="my_file" />
</form>
然後在my_php_script.php
,處理文件上傳就像任何其他POST請求。有關後端的詳細信息,請參見此頁面:http://www.tizag.com/phpT/fileupload.php
$_FILES
陣列保存與上傳文件有關的數據。
$_FILES['uploadedfile']['name']
- 用戶上傳文件的原始路徑。$_FILES['uploadedfile']['tmp_name']
- 駐留在服務器上的臨時文件的路徑。該文件應該存在於臨時目錄中的服務器上,並且具有臨時名稱。您應該將文件從臨時目錄移動到更永久的存儲區(如uploads/
文件夾)。您可以使用move_uploaded_file()
功能,像這樣做:
move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $uploads_folder);
好吧,但你知道我會怎麼做上傳的一面嗎? –
添加了附加信息 – tskuzzy
確保您在表單元素指定multipart/form-data
,則包括文件字段。您需要在接收端執行一些額外的工作,以獲取文件數據並將其存儲爲適當的名稱,而不是服務器上的默認/臨時目錄。
<form action="/some/url" enctype="multipart/form-data" method="post">
<input type="file" name="some_file" />
<intput type="submit" name="Upload that file!" />
</form>
您應該使用HTML形式enctype
設置爲multipart/form-data
像:
<form action="upload_file.php" method="post" enctype="multipart/form-data">
<input type="file" name="thefile" />
</form>
然後在PHP中,你可以檢查$_FILES['thefile']
得到你想要的信息。該文件將在$_FILES['thefile']['tmpname']
,你可以從那裏用move_uploaded_file()
它移動到你上傳的文件到正確的文件夾:
move_uploaded_file($_FILES['thefile']['tmpname'], 'uploads/'.$_FILES['thefile']['name']);
當然,你想要做更多的理智檢查,以確保你不覆蓋一個存在的文件並且文件成功上傳而沒有錯誤。
一切都在PHP手冊的Handling file uploads部分進行了說明。
我建議避免使用MAX_FILE_SIZE隱藏字段,因爲it's not part of any standard,沒有已知的瀏覽器支持,並且很容易在服務器端將其修改爲affect PHP behavior。
[PHP手冊:處理文件上傳](http://php.net/manual/en/features.file-upload.php) –