If you don't sure whether the file exists or not or maybe it's broken, then you should use try - catch construction. It prevents code fails, when code stops execution after call of pingImage (if the file doesn't exist or it's broken).
<?php
$im = new Imagick();
try {
$im->pingImage('3.jpg');
}
catch(ImagickException $e) {
echo "image doesn't exist";
}
?>
Imagick::pingImage
(PECL imagick 2.0.0)
Imagick::pingImage — 画像の基本属性を取得する
説明
bool Imagick::pingImage
( string
$filename
)このメソッドを使用すると、画像全体を読み込まなくても 画像の幅や高さ、サイズそしてフォーマットを取得できます。
パラメータ
-
filename -
情報を読み込むファイル名。
返り値
成功した場合に TRUE を返します。
Sergey ¶
8 months ago
Eero Niemi (eero at eero dot info) ¶
5 years ago
Actually the previous example causes file to be loaded twice on Imagick's stack, proper way to do this is:
<?php
$file = 'foo.jpg';
$image = new Imagick();
$image->pingImage($file);
$image_info = $image->identifyImage();
?>
