我正在尝试实现blueimp jquery文件上传插件。 我的最终目标是让插件目标成为特定的上传文件夹,具体取决于URL指定的ID
ex)../ plugin_path / index.php?job = 13
然后上传将转到名为“13”的文件夹。因此,只有先前上传的“作业13”图像才会显示在上传页面上。
我的问题是在从URL请求值后:
$jobid=$_REQUEST['job'];
我无法将$ jobid变量传递给'upload.class.php'以在'upload_dir'中引用它。
有人知道如何做到这一点吗? 提前谢谢。
答案 0 :(得分:1)
我看了一下这个插件,你可以通过替换upload.class.php
上的以下第39行来实现:
'upload_dir' => dirname($_SERVER['SCRIPT_FILENAME']).'/files/',
以下内容:
'upload_dir' => isset($_REQUEST['job']) ? $_REQUEST['job'].'/' : dirname($_SERVER['SCRIPT_FILENAME']).'/files/',
答案 1 :(得分:1)
好的,我花时间研究并测试它,忘记我的其他答案,只需在您的插件文件夹中编辑server/php/index.php
并替换以下行:
$upload_handler = new UploadHandler();
代码:
$option = null;
if (isset($_REQUEST['job'])) {
if (substr($_REQUEST['job'],-1)!= '/') {
$_REQUEST['job'] .= '/';
}
$dir = dirname($_SERVER['SCRIPT_FILENAME']).'/files/'.$_REQUEST['job'];
if (!file_exists($dir)) {
mkdir($dir, 0777, true);
}
$option = array('upload_dir' => $dir);
}
$upload_handler = new UploadHandler($option);
通过此更改,您的文件将正确上传到您在index.html隐藏的输入中指定的文件夹:
<input type="hidden" name="job" value="7">
有些事情需要改进,因为当您刷新页面时,只显示根上载文件夹中的文件,如果您希望它还显示通过'job'参数指定的子文件夹上的文件,则需要进行进一步修改。