phpのGDを使う時の注意

imagecreatefromjpeg関数に大きなデジカメ画像を読み込ませたら動きませんでした。
どうも内部で処理する時に画像を展開するらしく元画像のファイルサイズではなく展開後のサイズ分(画像自体のキャンバスサイズ)メモリを食うみたいでmemory_limitの制限に引っ掛かって動かなくなってました。
memory_limitが8Mだと縦横ピクセルがそれぞれ1400~1600ぐらいの所に壁があるっぽいですね。
getimagesizeである程度のサイズ以上は処理しない様にした方がよさげ。

programmingphp

Posted by hrmz