我刚刚将最新版本的 plupload 安装到我的本地测试 PHP 服务器上,运行 HTML5 上传器。一切似乎都正常,但是我无法确定文件上传到哪里(以及如何将其更改为我想要设置的目录)。
这是文件 - http://jsfiddle.net/SQ9aB/
我刚刚将最新版本的 plupload 安装到我的本地测试 PHP 服务器上,运行 HTML5 上传器。一切似乎都正常,但是我无法确定文件上传到哪里(以及如何将其更改为我想要设置的目录)。
这是文件 - 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,
....
在这种情况下要上传.php
在upload.php
新版本的 Plupload 的文件中,它应该有一行注释掉,如下所示:
// $targetDir = 'uploads';
只需删除//
并保存文件(当然,您需要uploads
在示例文件夹中创建名为的目录。)
设法在 $targetDir var 中使用以下内容来使其正常工作.. 希望我能节省一次查看相同问题的人
$targetDir = realpath(getenv("DOCUMENT_ROOT")) . '\uploads';
对于等式的另一端(在文件上传后更改文件所在的位置)并假设您使用的是 plupload 提供的示例,打开upload.php
并更改此行:
$targetDir = ini_get("upload_tmp_dir") . DIRECTORY_SEPARATOR . "plupload";
它应该位于header()
调用下方文件的顶部,但这将改变文件上传后的去向。
文件底部也有这部分(这很奇怪,因为通常PHP 文件使用move_uploaded_file
而不是读取 from php://input
,排序到.part
文件和fread
/ fwrite
ing 内容):
// Check if file has been uploaded
if (!$chunks || $chunk == $chunks - 1) {
// Strip the temp .part suffix off
rename("{$filePath}.part", $filePath);
}
看起来它尽可能地从流中取出所有内容,创建一个“.part”文件来存储它(对于不完整的上传,我猜?)然后在当前目录中重命名它。再一次,很奇怪,但我猜对每个人来说都是他/她自己的。
对于 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];
});