【问题标题】:What is a good way to create a multi image uploader for a website?为网站创建多图像上传器的好方法是什么?
【发布时间】:2012-05-21 02:25:24
【问题描述】:

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

你有什么推荐的?

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

【问题讨论】:

  • 您可以随时上传恶意文件,但除非您的 PHP 正在执行它们,否则我认为它们不会构成威胁;但为了任何 Windows 用户,阻止*.exes 可能仍然是一个好主意。

标签: php image forms api upload


【解决方案1】:

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

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

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

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

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

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


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

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


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


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


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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-18
    • 2012-08-08
    • 2014-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-25
    • 2021-01-04
    相关资源
    最近更新 更多