3
我有這樣的代碼:圖片是不是有效的JPEG
$image = imagecreatefromjpeg($filename);
$size = getimagesize($filename, $info);
var_dump($image);
var_dump($size);
我收到這樣的輸出:
Warning: imagecreatefromjpeg(): gd-jpeg: JPEG library reports unrecoverable error
Warning: imagecreatefromjpeg(): 'my_image.jpg' is not a valid JPEG file
bool(false)
array(7) {
[0]=>
int(22)
[1]=>
int(30)
[2]=>
int(2)
[3]=>
string(22) "width="22" height="30""
["bits"]=>
int(8)
["channels"]=>
int(3)
["mime"]=>
string(10) "image/jpeg"
}
我得到了警告,該圖像是不是一個有效JPEG文件和唐't加載該文件,但getimagesize說這是JPEG文件(MIME類型)。發生了什麼,我該如何解決這個問題?
我嘗試這樣做,但它並沒有幫助我:
- 檢查* memory_limit的*在php.ini文件在磁盤
- 檢查空間
- 集* gd.jpeg_ignore_warning *
有趣的是,在本地服務器上一切正常(當然有相同的圖像)。
你確定文件被找到了嗎?嘗試使用圖像的絕對路徑進行測試(通過錯誤消息,看起來您可能正在使用相對路徑),並確保您的腳本可以找到它。 –
只是一個猜測,但'getimagesize()'不可能解析所有數據(它可能跳過一些部分),而'imagecreatefromjpeg'解析所有數據。 – ComFreek
是否爲正確的jpeg圖像?可以這[鏈接](http://stackoverflow.com/questions/3901455/the-dreaded-warning-imagecreatefromjpeg-tmp-filename-is-not-a-valid-jpe)幫助嗎? –