我刚刚将最新版本的plupload安装到我的本地测试PHP服务器上,运行HTML5上传器。一切看似工作正常,但我无法确定文件的上传位置(以及如何将其更改为我想要设置的目录)。
这是文件 - http://jsfiddle.net/SQ9aB/
答案 0 :(得分:2)
url位于配置对象的属性“url”中。
$("#html5_uploader").pluploadQueue({
// General settings
runtimes : 'html5',
url : 'upload.php',
max_file_size : '10mb',
chunk_size : '1mb',
unique_names : true,
....
在这种情况下为upload.php
答案 1 :(得分:1)
对于等式的另一面(更改文件在上传后的位置)并假设您使用plupload提供的示例,请打开upload.php
并更改此行:
$targetDir = ini_get("upload_tmp_dir") . DIRECTORY_SEPARATOR . "plupload";
它应该位于header()
次调用下方文件的顶部,但这会改变文件上传后的位置。
这个部分也位于文件的底部(这很奇怪,因为通常 PHP文件使用move_uploaded_file
而不是从php://input
读取,排序为{{ 1}}文件和.part
/ fread
内容):
fwrite
看起来它尽可能地从流中取出所有内容,创建一个存储此内容的“.part”文件(对于我猜的不完整上传?)然后只需在当前目录中重命名它。再一次,奇怪,但我猜他/她自己。
答案 2 :(得分:1)
设法在$ targetDir var中使用以下内容来使其正常工作..希望我能在某个时候找一个人看同样的问题
$targetDir = realpath(getenv("DOCUMENT_ROOT")) . '\uploads';
答案 3 :(得分:1)
在Plupload新版本的upload.php
文件中,它应该像这样汇总一行:
// $targetDir = 'uploads';
只需删除//
并保存文件(当然,您需要在示例文件夹中创建名为uploads
的目录。)
答案 4 :(得分:0)
对于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];
});