Internet Explorer文件上传无法通过mime类型检查。

| 我将来自各种互联网来源的一些脚本拼凑在一起,以使表格正常工作。我遇到了一个我无法解决的问题。我创建的表单允许用户在字段中提交他们的数据,以及图像附件(验证:.EPS或.JPG格式)。 该脚本可以在Firefox和Safari中正常运行,但不能在Internet Explorer中运行。在IE中,无论您是否附加了正确类型的图像,它都会针对错误的文件类型返回错误。因此由于某种原因,IE似乎没有像PHP要求的那样验证文件类型。
<?php
/* ....
   snip
   .... */
      $filetype=$_FILES[\"prosp_client_logo\"][\"type\"];
/* ....
   snip
   .... */
      elseif($filetype==\"application/postscript\" or $filetype==\"image/jpg\" or $filetype==\"image/jpeg\") {
/* ....
   snip
   .... */
?>
如果您需要任何澄清,请告诉我。     
已邀请:
http://www.php.net/manual/zh/features.file-upload.php#75932   理查德·戴维(Richard Davey)富有,来自corephp dot co dot uk 2007年6月22日12:05   [...]您可能倾向于根据$ _FILES数组中报告的mime类型来验证更新。但是请注意这一点-它是由浏览器而不是PHP或Web服务器设置的,并且浏览器不一致(新功能是什么?!) IE会发送自己的
mime-type
(基于其文件系统关联)作为附件,该附件通常可能与您在代码中期望的不同。这些数据也可以被欺骗,因此最好不要相信浏览器对文件“ 1”的说法。 也: http://www.php.net/manual/zh/features.file-upload.php#53133   keith在phpdiary dot org上,2005年5月24日11:14   [...]我最好的选择是让您检查文件的扩展名,并使用exif_imagetype()检查有效图像。许多人建议使用getimagesize()(如果文件确实是图像,则返回数组),否则返回false,但exif_imagetype()快得多。 (手册中是这样说的)     

要回复问题请先登录注册