0

我正在尝试为图像制作一个多重上传系统。我正在使用带有多个文件上传的文件的输入类型。我想对每个文件进行检查,并且只有在它们通过所有检查时才上传,否则停止上传当前(失败)文件,但继续上传剩余文件。我想用 Javascript 和 PHP 来做。谁能建议要遵循的步骤?请不要使用 JQuery。

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

1 回答 1

1

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

  1. 用户将选择文件
  2. 他们将点击上传(或提交表单的任何内容)
  3. 文件将使用 multipart/form-data 表单上传到 php 临时文件夹
  4. 将调用 PHP 脚本(表单的目标),并将传递 tmp 文件夹中的文件路径
  5. php 脚本将决定将文件从 tmp 文件夹复制到网页上的某个文件夹

这清楚地表明了一件事:如果您想通过 PHP 脚本验证文件,所有文件必须已经完全上传,这意味着您不能在其他文件上传时单独调用每个文件的脚本(不是使用 html 和常规表单)。

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

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

于 2013-02-20T13:45:40.350 回答