php ImageMagickでサーバー上の画像ファイルを一括圧縮をかけてます。
ディレクトリ内の画像ファイルの中に破損ファイルがあると以下のようなエラーが表示されます。
破損したファイルは無視して処理をしたいです。
■エラー
Fatal error: Uncaught ImagickException: insufficient image data in file `./hoge/hoge.jpg' @ error/jpeg.c/ReadJPEGImage/1156 in /home/hoge/public_html/imagick.php:15 Stack trace: #0 /home/hoge/public_html/imagick.php(15): Imagick->__construct(Array) #1 {main} thrown in /home/hoge/public_html/imagick.php on line 15
<?php //元画像のパス $dirName = './hoge/'; $imagePath = glob($dirName.'*.jpg'); //インスタンスを生成 $images = new Imagick($imagePath); foreach($images as $image) { $image->setImageCompressionQuality(60); $image->writeImage(); } ?>
回答1件
あなたの回答
tips
プレビュー