无法使用php移动上传的文件移动上传的文件()
我有一个页面,允许用户在我的网站上发布广告。此页面允许他们上传所讨论产品的多张照片 我现在有两个表格。第一个处理产品的细节,而第二个是dropzone(使用dropzone.js),允许他们上传照片。我很想把这些表格分开,因为照片可能非常大,我希望它们能立即上传,而不是等待用户按提交。总的来说,这应该可以节省时间 因此,当照片被放入dropzone时,它们被上传到tmp目录(以防用户不发布整个广告)。用户提交第一个表单后,我将使用move_uploaded_file()将文件移动到其永久位置。这是我正在使用的代码:无法使用php移动上传的文件移动上传的文件(),php,post,dropzone.js,is-uploaded-file,Php,Post,Dropzone.js,Is Uploaded File,我有一个页面,允许用户在我的网站上发布广告。此页面允许他们上传所讨论产品的多张照片 我现在有两个表格。第一个处理产品的细节,而第二个是dropzone(使用dropzone.js),允许他们上传照片。我很想把这些表格分开,因为照片可能非常大,我希望它们能立即上传,而不是等待用户按提交。总的来说,这应该可以节省时间 因此,当照片被放入dropzone时,它们被上传到tmp目录(以防用户不发布整个广告)。用户提交第一个表单后,我将使用move_uploaded_file()将文件移动到其永久位置。这
for ($loop=1; $loop<=6; $loop++) {
// Retrieve filename and path
$file_path = "image_".$loop;
$tmp_path = $form_data[$file_path]; // $form_data is an array of POST data and contains the file_path of the image in the tmp dir
// Move file
$destination_path = 'images/adverts/'.$advert->id;
$success = move_uploaded_file($tmp_path, $destination_path);
}
$loop=1;$loopid;
$success=move_上传的_文件($tmp_路径,$destination_路径);
}
但是,move_uploaded_file()不起作用。查阅文档后,我可以看到move_uploaded_file()检查文件是否使用HTTP POST上传(确实如此)。当然,我运行了一个快速测试,查看我上传的文件上is_uploaded_file()是否返回TRUE,但它没有返回
_upload_file()如何确定文件是否已上载?我想知道在我移动文件时,php是否忘记了它已上载?是否有其他原因导致我的文件无法通过此操作
非常感谢我想我已经弄清了这件事的真相 move_uploaded_file()似乎只在发送POST数据的函数中起作用。在我的例子中,我发送了两个单独的POST请求。第一个来自dropzone.js,它将图像存储在tmp目录中。如果我在接收POST请求的函数中运行is_uploaded_file(),它将返回TRUE 然而,一旦上传到tmp目录,我就在第二个表单的隐藏字段中插入了路径。我试图在从第二个表单接收POST数据的函数中运行move_uploaded_file()(它反过来使用is_uploaded_file())。但是,由于该文件不是此POST数据的一部分(只是到tmp dir的路径),则返回false
我希望这能帮助一些人…什么是
$form\u data
?它来自哪里$\u FILES
?@jakenoble:请看注释-$form\u data是一个POST数据数组,包含tmp dir中图像的文件路径,作为一个额外的…$form\u data包含来自第一个表单的所有数据(如问题中所述)。此表单包含dropzone.js放在那里(隐藏字段中)的文件路径。我在dropzone.js中遇到了相同的问题。您是如何解决的?