我正在使用blueimp jquery文件上传(https://github.com/blueimp/jQuery-File-Upload),并且希望能够根据URL将文件上传到文件夹。例如。如果网址为:http://www.example.com/folder/ 12345678abc ,我想创建一个名为&#39; 12345678abc &#39;的文件夹,但似乎没有任何效果。< / p>
到目前为止,我已尝试将此代码放在 UploadHandler.php 的构造函数中:
$this->map = explode('/', $_SERVER['REQUEST_URI']);
if (!file_exists('files/'.$this->map[2].'')) { mkdir('files/'.$this->map[2].''); }
这适用于普通页面,但如果将其放在 UploadHandler.php 文件中,则会获得脚本路径,而不是URL。因此,它会创建一个名为&#39; 服务器&#39;的文件夹。 (这是保存应用程序的文件夹)
答案 0 :(得分: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/",