2011-07-18 48 views
0

我有一個網站,人們上傳大量(2mb-3mb)文件,大量。所以我需要將它們存儲在外部驅動器(我的drobo)上。如何將文件上傳到服務器上的文件夾,然後如何編寫一個php腳本來檢索它們並讓用戶下載它們。在PHP中移動文件(涉及上傳文件)

感謝, 喬伊Sacchini

回答

1

要做到這一點,只需將文件移動到可移動空間。

http://php.net/manual/en/function.move-uploaded-file.php

一定要考慮,雖然這意味着什麼。將上傳的文件移動到打開的目錄後,任何人都可以訪問它。這非常危險。想象一下有人上傳PHP腳本。

最好創建一個腳本,從不在Web根目錄中的位置獲取文件。在基本級別上,可以存儲文件的屬性,例如原始名稱(應將其重命名爲磁盤上的隨機內容)和mimetype以及數據庫。然後通過readfile()將文件發送到客戶端。

要將備份下載到您自己的個人硬盤驅動器,只需使用SFTP。

+0

你有當它被上傳到移動。否則它將被刪除,因爲該文件位於臨時空間中。 – Brad

+0

謝謝,讓我試試這個。 – macintosh264

0

那麼你可以保持上傳的文件在服務器目錄之外。所以如果你的服務器根目錄是/ www/htdocs你可以保持文件說/上傳。所以使用這樣的

move_uploaded_file($_FILES['file'],'/uploaded') 

這樣烏爾文件將inaccesible到外面的世界