仅显示图像文件在输入类型文件浏览窗口中?

时间:2013-05-30 09:19:17

标签: php jquery html

所以基本上如何过滤窗口弹出窗口,以便在我单击输入类型文件时显示图像文件

 <input type="file" />

任何帮助表示感谢,我试图为此找到解决方案

由于

4 个答案:

答案 0 :(得分:10)

您可以使用它,但它不适用于所有浏览器:

<input type="file" accept="image/*">

在Chrome中,您甚至可以指定您允许的格式:

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

LIVING DEMO

如果要在客户端限制图像类型you can still use JavaScript to validate it

但是你当然应该在服务器端用PHP检查它:

//defining the allowed extensions and types for our system.
$allowedMimes = array('image/gif', 'image/jpeg', 'image/jpg', 'image/png', 'image/bmp', 'image/wbmp');
$allowedExtensions = array('jpg', 'gif', 'jpeg', 'png', 'bmp', 'wbmp');

$extension = end(explode('.',$imgFile));

//is the extension allowed?
if(in_array($extension, $allowedExtensions)){

    //getting the mime type (it can be different from the extension) Be careful!
    $imgInfo = getimagesize('yourPath/'.$imgFile);
    $type = strtolower($imgInfo['mime']);

    //checking the mime type
    if(!in_array($type, $allowedMimes)){
         // is an allowed image type
    }
}

答案 1 :(得分:6)

我认为你正在寻找接受参数。试试这个

<input type="file" accept="image/*" />

有关mime类型的列表,请查看以下链接:

http://www.bitsandpix.com/entry/microsoft-office-2007-2010-docx-xlsx-pptx-mime-type-to-avoid-the-zip-issue/

答案 2 :(得分:2)

这是不可能的。这是浏览器用户界面的一部分,JavaScript无法控制它。另外,您可以使用accept属性,但尚未为此目的创建该属性。

  

如果type属性的值为file,则accept属性表示服务器接受的文件类型;否则会被忽略。该值必须是以逗号分隔的唯一内容类型说明符列表。

答案 3 :(得分:1)

图片例如:

<input type="file" accept="image/*">

See this answer