いつもお世話になっております。
画像のアップロードについてお伺いしたいことがあります。
画像をアップロードし、xslファイルにて<img src="{image1}&w=200" />として
横幅200ピクセルのサムネイルを生成しようとしております。
1920×1080pixel(5.93MB)の画像をアップしたところ、画像壊れのアイコンが表示され、
アップした画像が表示されません。しかしそのアイコンをクリックすると、
アップした1920×1080pixelの画像が別ウィンドウでちゃんと表示されます。
試しに画像を若干小さく(1200×675pixel(2.32MB))してアップすると、
サムネイル表示もできリンクで原寸画像も表示されます。
また、xslファイルの記述で「&w=200"」の指定を削除すると表示されます。
もちろん1920×1080で表示されてしまいますが・・・
これについてどのような原因が考えられますでしょうか?
サーバはCPIのX10プラン、phpバージョン4.4.2
CMSDバージョンは1.1.7cにて制作しております。
<schemaファイル>
<?xml version="1.0" encoding="UTF-8"?>
<schema name="news" caption="ニュース" title="title" sortkey="@id" sortorder="desc">
<data name="separator1" type="separator" caption="基本情報" />
<data name="title" type="text" caption="件名" size="60" output="html2" />
<data name="body" type="textarea" caption="本文" rows="25" cols="70" output="html2" autolink="True" />
<data name="separator2" type="separator" caption="画像" />
<data name="image1" type="img" caption="画像1" />
<data name="comment1" type="text" caption="キャプション1" size="60" output="html2" />
<data name="image2" type="img" caption="画像2" />
<data name="comment2" type="text" caption="キャプション2" size="60" output="html2" />
<data name="image3" type="img" caption="画像3" />
<data name="comment3" type="text" caption="キャプション3" size="60" output="html2" />
<data name="image4" type="img" caption="画像4" />
<data name="comment4" type="text" caption="キャプション4" size="60" output="html2" />
</schema>
phoinfoの情報は、
・upload_max_filesize・・・100M
・post_max_size・・・100M
・memory_limit・・・8M
お手数ですが何卒よろしくお願いいたします。
サムネイル画像が表示されない
Re: サムネイル画像が表示されない
ecoさん、いつもお世話になっております。
ご質問ありがとうございます。
恐らく、メモリ不足に陥っているものと思われます。
画像処理ライブラリGDが内部で24bit(TrueColor)処理を行っているのであれば、
最低でも1ピクセル当たり24bitのメモリを必要とする為、
1920×1080×24[bit] / ( 8[bit] × 1024[バイト] ) = 6075[KB]
で、6Mバイト程度のメモリを必要とすると思われます。
今回、8Mが指定されていますが、恐らく縮小処理の過程で作業用のメモリなどが
必要とされる為、この2倍程度が使用されるのかもしれません。
よって、6M×2=12M ぐらいをmemory_limitに指定して頂くと、状況が
改善するかもしれません。
memory_limitを変更することができない場合には、画像アップロード時の
自動画像縮小機能(保存する画像自体をアップロード時に縮小する機能)を使って
アップロード後の解像度を下げて頂くのがベターかと思います。
詳しくはリファレンスマニュアル「3.5.7 dataタグ -img」をご覧下さい。
ご質問ありがとうございます。
恐らく、メモリ不足に陥っているものと思われます。
画像処理ライブラリGDが内部で24bit(TrueColor)処理を行っているのであれば、
最低でも1ピクセル当たり24bitのメモリを必要とする為、
1920×1080×24[bit] / ( 8[bit] × 1024[バイト] ) = 6075[KB]
で、6Mバイト程度のメモリを必要とすると思われます。
今回、8Mが指定されていますが、恐らく縮小処理の過程で作業用のメモリなどが
必要とされる為、この2倍程度が使用されるのかもしれません。
よって、6M×2=12M ぐらいをmemory_limitに指定して頂くと、状況が
改善するかもしれません。
memory_limitを変更することができない場合には、画像アップロード時の
自動画像縮小機能(保存する画像自体をアップロード時に縮小する機能)を使って
アップロード後の解像度を下げて頂くのがベターかと思います。
詳しくはリファレンスマニュアル「3.5.7 dataタグ -img」をご覧下さい。