我有一个页面,允许用户在我的网站上发布广告。此页面允许他们上传相关产品的多张照片。
我目前有两种形式。第一个处理产品的详细信息,而第二个是允许他们上传照片的 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);
}
但是, move_uploaded_file() 不起作用。查阅文档后,我可以看到 move_uploaded_file() 检查文件是否是使用 HTTP POST 上传的(确实如此)。可以肯定的是,我运行了一个快速测试来查看 is_uploaded_file() 是否在我上传的文件上返回 TRUE,但它没有。
is_uploaded_file() 如何判断文件是否已上传?我想知道当我来移动文件时,php是否已经忘记它已经上传了?还有其他原因我的文件不会通过吗?
非常感谢