无法使用php移动上传的文件移动上传的文件()

无法使用php移动上传的文件移动上传的文件(),php,post,dropzone.js,is-uploaded-file,Php,Post,Dropzone.js,Is Uploaded File,我有一个页面,允许用户在我的网站上发布广告。此页面允许他们上传所讨论产品的多张照片 我现在有两个表格。第一个处理产品的细节,而第二个是dropzone(使用dropzone.js),允许他们上传照片。我很想把这些表格分开,因为照片可能非常大,我希望它们能立即上传,而不是等待用户按提交。总的来说,这应该可以节省时间 因此,当照片被放入dropzone时,它们被上传到tmp目录(以防用户不发布整个广告)。用户提交第一个表单后,我将使用move_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中遇到了相同的问题。您是如何解决的?