サムネイル画像が表示されない

「まったく何も分からない・・・」そんなユーザーさんの為のフォーラムです。どんなご質問でもお気軽にどうぞ。
返信
eco
記事: 9
登録日時: 2007年2月06日(火) 20:18

サムネイル画像が表示されない

投稿記事 by eco » 2008年8月28日(木) 11:50

いつもお世話になっております。

画像のアップロードについてお伺いしたいことがあります。

画像をアップロードし、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

お手数ですが何卒よろしくお願いいたします。

webmaster
Site Admin
記事: 1451
登録日時: 2004年12月10日(金) 10:09

Re: サムネイル画像が表示されない

投稿記事 by webmaster » 2008年8月29日(金) 15:54

 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」をご覧下さい。

eco
記事: 9
登録日時: 2007年2月06日(火) 20:18

投稿記事 by eco » 2008年8月29日(金) 17:50

webmaster様

ご返信ありがとうございます。
なるほどメモリ不足でしたか・・・。

アップ時の自動サイズ調整を使用したところ
問題なく表示することができました。

1920×1080の画像をアップする必要性の優先順位は高くないので、
今回は上記にて対応したいと思います。

また一つ勉強になりました。
お忙しいところありがとうございました。

返信