2016-02-12 137 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/",