如何对要上载的每个文件执行检查?

时间:2013-02-20 13:04:37

标签: php javascript upload image-uploading

我正在尝试为图片制作多个上传系统。我正在使用带有多个文件上传的输入类型的文件。我想检查每个文件并仅在它们通过所有检查时上传,否则停止上传当前(失败)文件但继续保留剩余文件。我想用Javascript和PHP来做。谁能建议采取哪些步骤?请不要JQuery。

    <input id="uploadfiles"  style="overflow:hidden" type="file"  name="files[]" value="upload" multiple />

1 个答案:

答案 0 :(得分:0)

让我总结一下通用上传过程:

  1. 用户将选择文件
  2. 他们将点击上传(或提交表单的任何内容)
  3. 文件将使用multipart / form-data表格上传到php临时文件夹
  4. 将调用Php脚本(表单的目标),它将在tmp文件夹中传递文件路径
  5. Php脚本将决定将文件从tmp文件夹复制到网页上的某个文件夹
  6. 这清楚地表明了一件事:如果你想通过PHP脚本验证文件,所有文件必须已经完全上传,这意味着你不能单独调用每个文件的脚本而其他文件正在上传(不是用html和常规表格)。

    另外(根据您需要检查文件的要求),出于某些安全原因,您可能无法使用javascript验证文件。

    因此有一个简单(但不太令人满意)的解决方案。让用户上传所有文件,然后使用您的javascript逐个验证它们。如果他们通过了您的要求,请将它们复制到目标文件夹,如果没有,您可以将它们保持原样,它们将从tmp文件夹中删除。它只有一个缺点,用户在上传大文件之前需要等待很长时间,才知道它没有通过要求。