Dropzone js和Verot的上传,如何上传到动态文件夹?
Dropzone js and Verot's upload, how to upload to dynamic folder?
我正在使用 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);
}
}
?>`
所以,如果 url 是 index.php?album=rocks,图像应该上传到 "uploads/rocks"。但是,现在所有内容都上传到 "uploads".
如果我将 $filesFolder 变量直接更改为 "uploads/rocks",文件将上传到目标文件夹。
我是不是做错了什么?或者除了使用 $_GET 之外还有更好的方法来实现这一点。
您的代码的问题是 $_GET['album'] 根据您当前的代码不存在,因此永远不会创建扩展路径。对于 GET 请求,您必须在表单中使用隐藏输入。但也请注意,如果您计划在实时网站或软件中使用此代码,请通过验证和清理来妥善保护数据。
<form action = "upload.php" method="get" enctype="multipart/form-data">
<input type="hidden" name="dir" value="album"/>
<input type="submit"/>
</form>
我正在使用 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);
}
}
?>`
所以,如果 url 是 index.php?album=rocks,图像应该上传到 "uploads/rocks"。但是,现在所有内容都上传到 "uploads".
如果我将 $filesFolder 变量直接更改为 "uploads/rocks",文件将上传到目标文件夹。
我是不是做错了什么?或者除了使用 $_GET 之外还有更好的方法来实现这一点。
您的代码的问题是 $_GET['album'] 根据您当前的代码不存在,因此永远不会创建扩展路径。对于 GET 请求,您必须在表单中使用隐藏输入。但也请注意,如果您计划在实时网站或软件中使用此代码,请通过验证和清理来妥善保护数据。
<form action = "upload.php" method="get" enctype="multipart/form-data">
<input type="hidden" name="dir" value="album"/>
<input type="submit"/>
</form>