Imagecreatefromjpeg returns false 即使图像存在

Imagecreatefromjpeg returns false even if image is exists

此代码returns错误:

    $image = imagecreatefromjpeg("photos/profiles/original/4cdf149b63d0ca0158f68357d8da371c_y.jpg");
    var_dump($image);
    exit;

但是这段代码:

    $image = getimagesize("photos/profiles/original/4cdf149b63d0ca0158f68357d8da371c_y.jpg");
    var_dump($image);
    exit;

Returns这个:

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 );
?>

检查错误日志或执行

print_r(error_get_last());

为了获得更多信息,GD 可能会使用 E_NOTICE 错误级别来传递有关该问题的更多信息