选择仅图像以通过浏览按钮上传

时间:2009-12-04 07:58:32

标签: php javascript file-upload

我想制作文件上传表单。

但我的困惑是,当我把文件元素放在html中时,它允许选择所有类型的文件。

我希望浏览按钮只允许从文件系统中选择图像。

实际上它应该只显示文件系统的图像。

提前致谢。

3 个答案:

答案 0 :(得分:8)

任何浏览器都不支持带有MIME类型列表的属性“accept”。

<input type="file" accept="image/gif, image/jpeg" />

您可以使用JS对文件扩展名进行排序,或者尝试http://swfupload.org/

答案 1 :(得分:1)

一般来说,文件上传应该在服务器端验证,因为主要浏览器不完全支持'accept'属性。示例如下:

$accept = array('jpg','png','gif','bmp');
$extension = substr($_FILES['file']['name'],strrpos($_FILES['file']['name'],'.')+1);

if(!in_array($extension,$accept)){
  // If the extension is not allowed show an error, else, the file type is valid
  echo 'Not a valid file extension';
}

答案 2 :(得分:1)

Uploadify会对你有用。它允许您指定哪些文件类型可供用户选择。如果您需要,它还可以允许用户一次上传多个文件。所有上载的文件都显示在带有进度条的队列中,并在完成上载后从队列中删除。我强烈推荐它。