2012-05-13 36 views
0

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

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

+0

你可以随时*上传*恶意文件,但除非你的PHP正在执行它们,我不认为它们是威胁;但为了任何Windows用户的目的,阻止'* .exe's可能仍是一个好主意。 – Hawken

回答

1

因为你可以在输入标签使用多属性的简单的多上传方法:

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

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

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

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

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


另一种方法是使用iframe的并重新加载IFRAME时,文件上传,这样用户可以立即选择其他文件。

我个人从不使用框架,所以我不知道这可能如何工作。


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


我能想到的唯一的选择是静态有很多<input type="file"/> S和希望你的用户需要不超过被提供。


我个人只是使​​用普通的<input type="file" multiple="multiple"/>,因为我会认为图片的大部分用户的使用群体,他们正试图同时上传将在同一文件夹中。

相关问题