2016-02-12 173 views
1

我正在與blueimp jquery文件上傳(https://github.com/blueimp/jQuery-File-Upload),並希望能夠上傳文件到一個文件夾的基礎上的URL。例如。如果URL是:http://www.example.com/folder/12345678abc,我想創建一個名爲'12345678abc'的文件夾,但似乎沒有任何工作。Blueimp jquery文件上傳 - 上傳文件在不同的文件夾

我有什麼到目前爲止已經試過是把這個代碼UploadHandler.php的構造函數:腳本的

$this->map = explode('/', $_SERVER['REQUEST_URI']); 
if (!file_exists('files/'.$this->map[2].'')) { mkdir('files/'.$this->map[2].''); } 

圖片: Image:

這適用於正常的頁面,但如果你把它放在UploadHandler.php文件中,你會得到腳本路徑,而不是URL。所以它創建一個名爲'服務器'的文件夾。 (這是持有應用程序的文件夾)

+0

的PHP庫/框架/ CMS你在嘗試這種? – Tarunn

+0

我在CodeIgniter中構建這個文件 –

+0

您是否從URL中使用'$ this-> map''獲取名稱?你可以在CI''this-> uri-> segment('2')''中使用它來獲取文件夾名稱。然後你需要給絕對路徑,直到你的''files''文件夾 – Tarunn

回答

0

我已經通過設置cookie來工作了。

控制器:

setcookie("DIR", $this->uri->segment(3), 0, "/"); 
if (!isset($_COOKIE['DIR'])) { echo "<meta http-equiv='refresh' content='0;URL=".base_url()."upload/map/".$this->uri->segment(3)."'>"; } 

UploadHandler.php:

$dir = $_COOKIE["DIR"]; 
if (!file_exists("../../../../resources/files/$dir")) { mkdir("../../../../resources/files/$dir"); } 

那麼我可以設置上傳目錄:

'upload_dir' => "../../../../resources/files/$dir/", 
相關問題