Javascript 正确实现DropZone.js,最佳实践?

Javascript 正确实现DropZone.js,最佳实践?,javascript,php,dropzone.js,Javascript,Php,Dropzone.js,我正在试图弄清楚如何使用PHP正确地实现DropZone.js 我的设置是,我有一个带有一堆字段的主窗体,然后是旁边的dropzone窗体。每次添加文件时,都会调用upload.php,这会将文件从临时文件夹移动到最终目的地。当最终提交主表单时,我会将字段与已添加到文件夹中的文件名一起添加到数据库中 但是,如果在dropzone UI中添加了一个文件,然后又删除了该文件,则会触发“removedfile”事件。但这是javascript。javascript不能删除文件,所以我不能从移动到的最终

我正在试图弄清楚如何使用PHP正确地实现DropZone.js

我的设置是,我有一个带有一堆字段的主窗体,然后是旁边的dropzone窗体。每次添加文件时,都会调用upload.php,这会将文件从临时文件夹移动到最终目的地。当最终提交主表单时,我会将字段与已添加到文件夹中的文件名一起添加到数据库中

但是,如果在dropzone UI中添加了一个文件,然后又删除了该文件,则会触发“removedfile”事件。但这是javascript。javascript不能删除文件,所以我不能从移动到的最终目的地删除文件。那么,在保存主窗体时,如何跟踪要使用的文件?我考虑使用“completed”和“removedfile”事件调用函数,动态创建/删除包含文件名的隐藏字段。但我可能走得太远了。我该怎么办?我的php和javascript经验非常有限,我不确定如何处理这种情况


编辑:简而言之,upload.php页面会将上传的文件移动到正确的文件夹中,但是当用户单击删除文件时,不会执行任何操作来删除它,它只是在UI中被删除,但保留在磁盘上,因此服务器如何知道哪些是“真实的”哪些只是应该清除的剩余物?

我按照我最初的想法解决了它。使用jQuery并添加/删除隐藏的输入字段:

function onCompletedFile(file)
{
    console.log("Completed file:");
    console.log(file);

    $('#mainform').append('<input type="hidden" name="images[]" value="' + file.name + '" id="' + file.upload.uuid + '"/>');
}

function onRemovedFile(file)
{
    console.log("Removed file:");
    console.log(file);

    $('#' + file.upload.uuid).remove();
}
在我提交主表单的页面上,我可以像这样反复浏览:

foreach( $_POST['images'] as $value ) 

。。并获取上传的文件名以及实际要使用的文件名。

真的,您需要发布代码来显示您的位置以及发生故障的位置。有一件事是,尽管
和javascript不能删除文件
——没错,但javascript可以调用ajax进程,指示PHP取消文件链接(),如果这是您的意愿,那么JS可以执行我应该执行的任何显示更新。我只是在想可能有一些最佳实践模式可以使用。
foreach( $_POST['images'] as $value )