0

我正在为某人制作一个自定义网站,该网站要求新用户能够上传多张照片。我一直在研究图像上传脚本、图像主机 API,并从头开始制作一些东西。我知道如何使用表单和 PHP 上传单个图像,但我不知道为多个图像执行此操作的最佳方法。

你有什么建议吗?

另外,如果我从头开始制作一些东西或使用脚本,并且图像存储在我服务器上的文件夹中,那安全吗?(人们可以上传恶意文件并运行它们)

4

1 回答 1

1

对于简单的多重上传方法,您可以在输入标签上使用多个属性:

<input type="file" multiple="multiple" />

但是,用户只能选择当前文件夹视图中可见的文件;通常只有一个文件夹。

如果您希望能够添加更多文件,也许可以动态应用display:none;到文件输入标签并在其位置添加一个新标签。要显示已选择的文件,请列出要使用 javascript 上传的当前文件,如此处所示,multiple-file-upload

或者跳过上面的隐藏步骤,这样您就可以在任何给定时间看到所有文件上传表单,同时动态保持一个空白,以便上传更多文件。

如果您想要有效的 XHTML/HTML 请小心,因为该multiple属性仍然是 HTML5 推测 (SPEC) 的一部分。


另一种选择是使用 iframe 并在上传文件时重新加载 iframe,这样用户就可以立即选择另一个文件。

我个人从不使用 Frames,所以我不知道它是如何工作的。


从我所见,所谓的“AJAX 文件上传器”方法也只是一个聪明的 iframe 技巧。


我能想到的唯一其他选择是静态拥有很多<input type="file"/>s 并希望您的用户需要的不仅仅是提供的更多。


我个人只会使用普通<input type="file" multiple="multiple"/>的,因为我假设他们尝试同时上传的大多数用户的图片组都在同一个文件夹中。

于 2012-05-13T04:34:21.480 回答