0

blueimp jquery file upload pluginを実装しようとしています。私の最終的な目標は、URL で指定された ID に応じて、プラグインが特定のアップロード フォルダーをターゲットにすることです。

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

次に、アップロードは「13」という名前のフォルダーに移動します。したがって、「Job 13」の以前にアップロードされた画像のみがアップロード ページに表示されます。

私の問題は、URL から値を要求した後:

$jobid=$_REQUEST['job'];

「upload_dir」で参照するために「upload.class.php」に渡された $jobid 変数を取得できません。

これを行う方法を知っている人はいますか?前もって感謝します。

4

2 に答える 2

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">

ページを更新するとルート アップロード フォルダーのファイルのみが表示されるため、改善すべき点があります。「ジョブ」パラメーターで指定されたサブフォルダーのファイルも表示する場合は、さらに変更を加える必要があります。

于 2012-10-03T12:54:59.267 に答える
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 に答える