0

我正在尝试实现 blueimp jquery 文件上传插件。我的最终目标是让插件针对特定的上传文件夹,具体取决于 URL 指定的 ID

例如)../plugin_path/index.php?job=13

然后上传将转到名为“13”的文件夹。因此,只有先前上传的“Job 13”图像才会显示在上传页面上。

我的问题是从 URL 请求值后:

$jobid=$_REQUEST['job'];

我无法将 $jobid 变量传递给“upload.class.php”以在“upload_dir”中引用它。

有谁知道如何做到这一点?提前致谢。

4

2 回答 2

1

我已经查看了该插件,您可以通过替换以下第 39 行来做到这一点upload.class.php

'upload_dir' => dirname($_SERVER['SCRIPT_FILENAME']).'/files/',

对于以下一项:

'upload_dir' => isset($_REQUEST['job']) ? $_REQUEST['job'].'/' : dirname($_SERVER['SCRIPT_FILENAME']).'/files/',
于 2012-10-01T22:45:52.920 回答
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 hidden 中指定的文件夹:

<input type="hidden" name="job" value="7">

有一些地方需要改进,因为当您刷新页面时,仅显示根上传文件夹中的文件,如果您希望它还显示通过“作业”参数指定的子文件夹中的文件,则需要进行进一步的修改。

于 2012-10-03T12:54:59.267 回答