HTML5アップローダーを実行して、最新バージョンのpluploadをローカルテストPHPサーバーにインストールしました。すべてが正常に機能しているように見えますが、ファイルがアップロードされている場所(およびこれを設定したいディレクトリに変更する方法)を特定できません。
これがファイルです-http://jsfiddle.net/SQ9aB/
HTML5アップローダーを実行して、最新バージョンのpluploadをローカルテストPHPサーバーにインストールしました。すべてが正常に機能しているように見えますが、ファイルがアップロードされている場所(およびこれを設定したいディレクトリに変更する方法)を特定できません。
これがファイルです-http://jsfiddle.net/SQ9aB/
urlは、構成オブジェクトのプロパティ「url」にあります。
$("#html5_uploader").pluploadQueue({
// General settings
runtimes : 'html5',
url : 'upload.php',
max_file_size : '10mb',
chunk_size : '1mb',
unique_names : true,
....
この場合、upload.phpに
方程式の反対側(アップロード後にファイルの移動先を変更する)で、pluploadで提供される例を使用していると仮定して、次のupload.php
行を開いて変更します。
$targetDir = ini_get("upload_tmp_dir") . DIRECTORY_SEPARATOR . "plupload";
呼び出しの下のファイルの一番上にあるはずheader()
ですが、アップロードするとファイルの移動先が変わります。
ファイルの下部にもこの部分があります(通常、 PHPファイルは、ファイルmove_uploaded_file
からの読み取り、ファイルphp://input
への並べ替え、.part
およびfread
/fwrite
コンテンツの入力の代わりに使用するため、奇妙です)。
// Check if file has been uploaded
if (!$chunks || $chunk == $chunks - 1) {
// Strip the temp .part suffix off
rename("{$filePath}.part", $filePath);
}
可能な限りストリームからすべてを取り出し、これを保存する「.part」ファイルを作成し(不完全なアップロードの場合は推測しますか?)、現在のディレクトリ内で名前を変更するだけのようです。繰り返しますが、奇妙ですが、それぞれに私は推測します。
$ targetDir変数で以下を使用して機能させることができました。うまくいけば、同じ問題を見て誰かを一度救うことができます。
$targetDir = realpath(getenv("DOCUMENT_ROOT")) . '\uploads';
upload.php
新しいバージョンのPluploadのファイルでは、次のように1行がコメントアウトされている必要があります。
// $targetDir = 'uploads';
を削除してファイルを保存するだけです(もちろん、examplesフォルダー内に//
名前付きのディレクトリを作成する必要があります)。uploads
Laravel(または同様のMVCフレームワーク)の場合:
url : /to-your-route
あなたのコントローラーで
$foldername = "yourFolderName";
$filename = $request->name;
return Plupload::receive('file', function ($file) use ($foldername,$filename)
{
$file->move(public_path().DIRECTORY_SEPARATOR.$foldername.DIRECTORY_SEPARATOR, $filename);
return ['result'=>'result','filename'=>$filename];
});