Dropzone js和Verot的上传,如何上传到动态文件夹?

时间:2016-10-02 00:16:54

标签: javascript php file-upload upload dropzone.js

我正在使用Dropzone.js和Verot的class.upload.php创建一个简单的上传文件。 我想让图片从$ _GET []变量动态上传到文件夹。

以下是我的代码,但无论我做什么,所有文件都会上传到“uploads”文件夹。

upload.php的

<?php include('includes/php/class.upload.php');  ?>

<form action="upload.php" class="dropzone"></form>

<?php

$ds = DIRECTORY_SEPARATOR;
$filesFolder = 'uploads';

if(isset($_GET['album'])){
$targetDir = dirname(__FILE__).$ds.$filesFolder.$ds.$_GET['album'];
}else{
$targetDir = dirname(__FILE__).$ds.$filesFolder;
}

if(!empty($_FILES)){

$handle = new upload($_FILES['file']);

if ($handle->uploaded) {
    $handle->image_resize         = true;
    $handle->image_x              = 960;
    $handle->image_ratio_y        = true;
    $handle->process($targetDir);
}
}



?>`

所以,如果网址是index.php?album = rocks,图片应该上传到“uploads / rocks”。但是,现在所有内容都上传到“上传”。

如果我将$ filesFolder变量直接更改为“uploads / rocks”文件上传到目标文件夹。

我做错了吗?或者除了使用$ _GET之外还有更好的方法来实现这一点。

1 个答案:

答案 0 :(得分:0)

您的代码存在的问题是$ _GET [&#39;相册&#39;]根据您当前的代码不存在,因此永远不会创建扩展路径。您必须在表单中使用隐藏输入来获取GET请求。但是,如果您计划在实时网站或软件上使用此代码,请通过验证和清理来正确保护数据。

<form action = "upload.php" method="get" enctype="multipart/form-data">
    <input type="hidden" name="dir" value="album"/>
    <input type="submit"/>
</form>