欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

为什么上传图片时,type 显示application/octet-stream 呢? 原

程序员文章站 2022-04-12 16:33:49
...

错误如下参考: array (size=10) 'name' = string 'upload.image.type.error.jpg' (length=27) 'type' = string 'application/octet-stream' (length=24) 'tmp_name' = string 'D:\WampServer\tmp\phpEC2F.tmp' (length=29) 'error' = int 0 'size' = string

错误如下参考:

array (size=10)
  'name' => string 'upload.image.type.error.jpg' (length=27)
  'type' => string 'application/octet-stream' (length=24)
  'tmp_name' => string 'D:\WampServer\tmp\phpEC2F.tmp' (length=29)
  'error' => int 0
  'size' => string '61574' (length=5)
  'options' => 
    array (size=4)
      'ignoreNoFile' => boolean true
      'useByteString' => boolean true
      'magicFile' => null
      'detectInfos' => boolean true
  'validated' => boolean false
  'received' => boolean false
  'filtered' => boolean false
  'validators' => 
    array (size=5)
      0 => string 'Zend_Validate_File_Upload' (length=25)
      1 => string 'Zend_Validate_File_Count' (length=24)
      2 => string 'Zend_Validate_File_Size' (length=23)
      3 => string 'Zend_Validate_File_Extension' (length=28)
      4 => string 'Zend_Validate_File_IsImage' (length=26)


遇到这类错误,建议不要添加Minitype来解决,因为这样可能会有安全隐患, 如下代码不建议:

'jpeg'   =>    array('image/jpeg', 'image/pjpeg', 'application/octet-stream'),
 'jpg'    =>    array('image/jpeg', 'image/pjpeg', 'application/octet-stream'),
 'jpe'    =>    array('image/jpeg', 'image/pjpeg', 'application/octet-stream'),
 'png'    =>    array('image/png',  'image/x-png', 'application/octet-stream'),

我的遇到的原因最终定于PHP的扩展 php_fileinfo 没有打开, 打开后测试正常如下:

array (size=10)
  'name' => string 'upload.image.type.error.jpg' (length=27)
  'type' => string 'image/jpeg' (length=10)
  'tmp_name' => string 'D:\WampServer\tmp\php5262.tmp' (length=29)
  'error' => int 0
  'size' => string '61574' (length=5)
  'options' => 
    array (size=4)
      'ignoreNoFile' => boolean true
      'useByteString' => boolean true
      'magicFile' => null
      'detectInfos' => boolean true
  'validated' => boolean false
  'received' => boolean false
  'filtered' => boolean false
  'validators' => 
    array (size=5)
      0 => string 'Zend_Validate_File_Upload' (length=25)
      1 => string 'Zend_Validate_File_Count' (length=24)
      2 => string 'Zend_Validate_File_Size' (length=23)
      3 => string 'Zend_Validate_File_Extension' (length=28)
      4 => string 'Zend_Validate_File_IsImage' (length=26)