Php 通过浏览按钮仅选择要上载的图像

Php 通过浏览按钮仅选择要上载的图像,php,javascript,file-upload,Php,Javascript,File Upload,我想做一个文件上传表 但我的困惑是,当我在html中放入file元素时,它允许选择所有类型的文件 我希望浏览按钮只允许从文件系统中选择图像 实际上,它应该只显示文件系统的图像 提前感谢。任何浏览器都不支持带有MIME类型列表的属性“接受” <input type="file" accept="image/gif, image/jpeg" /> 您可以使用JS整理文件扩展名,或者尝试使用一般来说,文件上传应该在服务器端进行验证,因为主要浏览器不完全支持“接受”属性。示例如下: $

我想做一个文件上传表

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

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


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

提前感谢。

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

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


您可以使用JS整理文件扩展名,或者尝试使用

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

$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';
}

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

“实际上,它应该只显示文件系统的图像。”如果没有某种可安装的应用程序,这是不可能实现的。文件浏览器属于操作系统和用户,不属于您。同意anddoutoi。正如我在下面所说的,上传文件的扩展名应该在服务器端进行验证。我不建议使用此脚本,它有一个漏洞:询问者不希望用户上传图像文件以外的其他文件,但是使用此脚本,用户可以上传文件“trojan.gif.php”,您可能需要进行一些调整,如果(($_文件[“文件”][“类型”]=“图像/jpeg”)