【问题标题】:Codeigniter 3 does not upload jpeg imageCodeigniter 3 不上传 jpeg 图像
【发布时间】:2016-05-10 08:11:58
【问题描述】:

当我尝试上传 jpeg 图片时遇到问题。 我的配置是:

$config['allowed_types'] = 'gif|jpg|png|jpeg';

还有哑剧:

'jpeg'  =>  array('image/jpeg', 'image/pjpeg'),

gif, jpg, png 等所有其他格式都可以正常工作,只是在我尝试上传 jpeg 时不起作用

可能有什么问题?有人有什么问题吗?

【问题讨论】:

  • print_r($this->upload->display_errors());调试问题
  • 显示你的上传代码

标签: php codeigniter codeigniter-3


【解决方案1】:

有时文件扩展名并不真实。 检查文件的真实 MIME 类型。使用 exiftool 之类的工具。 例如:你有your_notjpg_file.jpg,但是这个文件的mime是image/webp, 然后将此 MIME 类型添加到配置文件中的 jpg 扩展名中: ./application/config/mimes.php.

'jpg'   =>  array('image/jpeg', 'image/pjpeg', 'image/webp'),

或在更新为正确的扩展名之前重命名该文件,并确保, 该扩展位于mimes.php 和您的上传配置中:

$config['allowed_types'] = 'gif|jpg|jpeg|png|webp';

当我尝试从 Youtube 上传一些缩略图时,我遇到了类似的问题。 它们都带有 jpg 扩展名。 事实证明,jpg 不是 jpg,而是 webp。 这对我有用。

【讨论】:

  • 谢谢兄弟。你让我开心:-)
【解决方案2】:

请尝试

$config['allowed_types'] = '*'; //所有类型的图片

如果它正常工作,请检查 $_FILES 以了解您的浏览器读取的 mime 类型。

.xls 的文件上传也存在同样的问题。请检查答案:

Unable to import xlsx file in Codeigniter

【讨论】:

  • 请检查 $_FILES 的 mime 类型,这是您的浏览器读取并更新位于 ./application/config/mimes.php 中的 mimes.php 文件
  • 所以你说不能上传带病毒的文件!! Evan 也可以上传 jpeg 格式
  • 我不是在谈论病毒。请上传 .jpeg 文件并使用 $_FILES 检查 mime 类型。在我的端 Chrome、FF 和 Safari .jpeg 文件返回 mime 类型是 [type] => image/jpeg
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-17
  • 1970-01-01
  • 2023-03-28
相关资源
最近更新 更多