php - 即使图像存在,Imagecreatefromjpeg 也会返回 false
问题描述
此代码返回 false:
$image = imagecreatefromjpeg("photos/profiles/original/4cdf149b63d0ca0158f68357d8da371c_y.jpg");
var_dump($image);
exit;
但是这段代码:
$image = getimagesize("photos/profiles/original/4cdf149b63d0ca0158f68357d8da371c_y.jpg");
var_dump($image);
exit;
返回这个:
array(7) { [0]=> int(2576) [1]=> int(1932) [2]=> int(2) [3]=> string(26) "width="2576" height="1932"" ["bits"]=> int(8) ["channels"]=> int(3) ["mime"]=> string(10) "image/jpeg" }
我也可以从任何网络浏览器或其他东西等上看到照片。我该如何解决这个问题?
解决方案
结合gd.jpeg_ignore_warning
并使用@
来抑制评论中提到的错误似乎有效,但由于某种莫名其妙的原因将图像旋转了 90 度〜也许图像是在手机上拍摄的?
<?php
ini_set ('gd.jpeg_ignore_warning', 1);
$src='c:/temp2/4cdf149b63d0ca0158f68357d8da371c_y.jpg';
$img=@imagecreatefromjpeg( $src );
header( 'Content-Type: image/jpeg' );
imagejpeg( $img );
imagedestroy( $img );
?>
推荐阅读
- selenium - 硒中的引导下拉处理
- pandas - 拆分和重组熊猫数据框中的列表
- ibm-midrange - 即使签名 ID 从程序对象到服务程序不同,程序也不会引发签名冲突错误
- sql - Cognos Analytics:关于 CASE WHEN 表达式的 QE-DEF-0459
- neo4j - 在一台机器上运行两个 Neo4j 实例作为 Windows 服务
- php - laravel - 未找到自定义类
- tcl - 如何存储按钮按下的值?
- php - 在方法中使准备好的语句静态
- java - 使用bufferimage java swing绘制多个形状
- haskell - 仍然混淆带有多个箭头的类型签名如何工作