2014-02-26 21 views
3

我使用的是最新的Codeigniter版本,我在http://ellislab.com/codeigniter%20/user-guide/helpers/download_helper.html中編寫了一個關於基本文件上傳和下載幫助的程序。Codeigniter - 在目錄中下載上傳文件

我想創建一個系統,將上傳多個文件到目錄並將文件名保存到數據庫和上傳者的名稱,並將具有下載鏈接下載該特定用戶的每個文件的功能。 如果可能系統可以通過電子郵件發送加密鏈接給用戶下載文件。並且只能下載特定的時間..

我不知道動態文件下載的邏輯。有人可以教如何做到這一點,或者什麼邏輯可以解決這個問題。非常感謝你! :)

回答

1

對於多個文件您有一些替代方法,您可以創建每個字段作爲用戶按下按鈕或使用multiple正當性<input>標記。

要管理這個多上傳你必須創建自己的上傳庫在foreach循環例如雖然有替代品隨時讀取每個$_FILES['nameoffield']喜歡使用:https://github.com/nicdev/CodeIgniter-Multiple-File-Upload

在您的數據庫,你可以有兩個字段存儲原始文件名和路徑,以及加密的文件。可能與隨機唯一號碼或時間戳相關聯。

要通過電子郵件發送加密鏈接,並且通過加密,我認爲您說的是文件的僞裝鏈接,而不是使用原始名稱,您只需選擇將加密名稱存儲到控制器的字段,如下載並保留變量接收一個值作爲參數。如果數據庫確實存在並重定向到該文件,則必須檢查該值。通過這樣做你應該讓你的文件被下載。

+0

如何有不同的隨機鏈接,每次用戶通過網站或電子郵件加密鏈接下載文件?我不知道該怎麼做.. :( 非常感謝!我真的很感激它:) – r3mmel

+0

你能教我如何使用函數do_multi_upload()在https://github.com/nicdev/CodeIgniter-Multiple-File-Upload - 這是我在控制器中的代碼。我怎麼能在這裏應用? 'function file_upload(){ $ this-> load-> library('upload',$ config); (!$ this-> upload-> do_upload()){ $ error = array('error'=> $ this-> upload-> display_errors()); $ this-> load-> view('gallery/gallery',$ error); } else { $ data = array('upload_data'=> $ this-> upload-> data()); $ this-> load-> view('gallery/upload_success',$ data); }' – r3mmel