2012-12-10 124 views
-1

TLDR;如何從PHP腳本中引用臨時文件上傳到PHP腳本?使用PHP處理文件上傳

我正在創建一個Web應用程序(僅用於實驗室測試,並不需要太多安全性),它允許我上載和聚合XML & XLS文件。

除了在用戶使用HTML表單將其POST到服務器之後如何使用文件本身,我已經完成了所有工作。

我有一個表單將文件POST到服務器,並且我有一個PHP腳本設置爲對文件執行某些操作,但是我很難理解如何從PHP中引用上傳的文件腳本在服務器上。

EG:

<form action="Update_data.php" method="POST" enctype="multipart/form-data"> <input type="file" name="file" id="file"></br> <INPUT type="submit" name="submit" value="Submit"></br> </form>

,我隱約知道,當文件被髮送至Update_data.php完成執行文件存在於服務器上的一個臨時目錄。這一切都很好,但我不知道該目錄會是什麼,或者即使我需要以某種特定方式配置PHP.ini來允許這樣做。

那麼,我要問的是:

我如何引用一個臨時文件上傳發布到PHP腳本從PHP腳本?

謝謝。

+2

你讀過http://php.net/manual/en/features.file-upload.post-method.php? – deceze

+0

我沒有讀過,但我不明白如何將文件作爲數據傳遞給函數。如果我可以簡單地使用文件名,那麼它比我預期的更簡陋,但我不確定該文件是否存在臨時目錄中,直到腳本完成執行。也許TLDR太多了。 – gal

+1

不;我自己讀了很多 - 我很抱歉,這個問題對你來說太簡單了。也許你應該嘗試更難的。我注意到,在本網站上,您的很多回復都非常諷刺和輕度侮辱,即使有幫助。如果你要這樣做,爲什麼不選擇保持沉默?我認爲從我遇到的困難中可以明顯看出,我要麼不瞭解手冊,要麼沒有注意到解決我遇到問題的細分受衆羣。我相信你之前忽視了一些事情。 – gal

回答

2

$_FILES['file']['tmp_name']包含服務器上傳文件的文件名。

Yu可以使用move_uploaded_file()函數將上傳的文件移動到您需要的任何位置。

本手冊頁包含所有你需要的信息:http://php.net/manual/en/features.file-upload.post-method.php

+0

是的,我從手冊中讀到,但正如我所說的,我不確定文件是否是臨時文件,或者它暫時存在於什麼目錄中...... – gal

+0

'move_uploaded_file'將從tmp位置刪除文件。那個文件在哪裏取決於你的PHP配置:http://php.net/manual/en/ini.core.php#ini.upload-tmp-dir –

+0

噢好吧謝謝你,這就是我需要的 - 我的一部分真的不確定的是我怎麼可能確定文件的完整路徑,當我不知道它是在什麼目錄中創建..非常感謝。 – gal