即使图像存在,Imagecreatefromjpeg也会返回false

问题描述 投票:0回答:1

此代码返回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" }

我也可以从任何网络浏览器等查看照片。如何解决此问题?

图像网址:https://ribony.com/photos/profiles/original/4cdf149b63d0ca0158f68357d8da371c_y.jpg

php php-gd
1个回答
0
投票

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 );
?>
© www.soinside.com 2019 - 2024. All rights reserved.