画像ファイルのアップロードに関して教えて下さい。
コンテンツマネージャーより画像ファイルをアップロードしたのですが、
表示したページのサムネイル画像が「×」印となって表示されません。
コンテンツマネージャー上でも画像は「×」印となってしまいます。
しかし、クリックして実寸の画像を表示するとちゃんと表示されます。
(URLの末尾の「w=80」の部分を削除すると表示されます。)
この現象について調べたところ、どうやら、サイズが大きいjpg画像の場合、
このようになるようです(ファイルサイズではなくピクセル数)。
今回のケースは、ファイルサイズは50KB程度ですが、
ピクセル数は1233×1746でした。
ピクセル数が大きいと、縮小画像が表示されなくなってしまう仕様なのでしょうか?
それとも、私が何か手順を間違っているのでしょうか?
恐れ入りますがご教授お願いいたします。
縮小画像が表示されません
Re: 縮小画像が表示されません
webmasterです。
大変申し訳ありません、ご質問に気づくのが遅れてしまいました。m(_ _;)m
メールでのご連絡、お手数をおかけ致しました。
ご質問の件について、当方環境にて 2304*1728ドットのjpg画像(画質30)を
アップロードしてみたところ、問題なく表示することができました。
ファイルサイズは270KBです。
画像の拡大縮小中は、元画像のファイルサイズではなく画像の縦横の大きさに
よって必要とするメモリが増える為、そこでメモリ不足になってエラーになっている
可能性が高いと思います。
php.ini で memory_limit を増やして頂くか、php.iniの編集権限が無い場合、
.htaccessに次の行を加えてください。
php_value memory_limit 30M
「30M」の部分は、必要に応じたサイズを指定して下さい。
(ちなみに30Mは結構でかいです)
画像処理ライブラリGDが内部で24bit(TrueColor)処理を行っているのであれば、
最低でも1ピクセル当たり24bitのメモリを必要とする為、
1233×1746×24[bit] / ( 8[bit] × 1024[バイト] ) = 6307[KB]
で、6Mバイト以上のメモリを必要とする為、
php_value memory_limit 10M
程度の指定で大丈夫かと思います。
まずは現在の memory_limit の指定値を、phpinfo() などでご確認頂くと
現状確認になるかもしれません。
ご不明点はまたいつでもご連絡下さい。
今回は回答が遅れてしまい、申し訳ありませんでした。m(_ _)m
大変申し訳ありません、ご質問に気づくのが遅れてしまいました。m(_ _;)m
メールでのご連絡、お手数をおかけ致しました。
ご質問の件について、当方環境にて 2304*1728ドットのjpg画像(画質30)を
アップロードしてみたところ、問題なく表示することができました。
ファイルサイズは270KBです。
画像の拡大縮小中は、元画像のファイルサイズではなく画像の縦横の大きさに
よって必要とするメモリが増える為、そこでメモリ不足になってエラーになっている
可能性が高いと思います。
php.ini で memory_limit を増やして頂くか、php.iniの編集権限が無い場合、
.htaccessに次の行を加えてください。
php_value memory_limit 30M
「30M」の部分は、必要に応じたサイズを指定して下さい。
(ちなみに30Mは結構でかいです)
画像処理ライブラリGDが内部で24bit(TrueColor)処理を行っているのであれば、
最低でも1ピクセル当たり24bitのメモリを必要とする為、
1233×1746×24[bit] / ( 8[bit] × 1024[バイト] ) = 6307[KB]
で、6Mバイト以上のメモリを必要とする為、
php_value memory_limit 10M
程度の指定で大丈夫かと思います。
まずは現在の memory_limit の指定値を、phpinfo() などでご確認頂くと
現状確認になるかもしれません。
ご不明点はまたいつでもご連絡下さい。
今回は回答が遅れてしまい、申し訳ありませんでした。m(_ _)m
webmasterです。
bcacsatoさん、すいません、説明が不足しておりました。m(_ _)m
php.iniは、PHPの設定を変更する為のファイルで、CMSDの機能ではなく
PHP本体の機能になります。
php.iniは、通常はPHPをインストールしたフォルダ内に存在します。
php.iniの変更後は、apacheを再起動して頂く必要がありますのでご注意下さい。
また、レンタルサーバーなどをご利用されていて、php.iniの編集権限がない
場合もあるかと思います。
その場合は、.htaccessファイルを編集して頂くことで、php.iniを編集した場合と
同等の効果を得ることができます。
CMSDのインストール先フォルダに .htaccess というファイルを作成し、中に
と記述していただければOKだと思います。
既に.htaccessが存在する場合には、上記の行を最終行に追加して頂ければOKです。
さらに万全を期すために、
の2行も追加すればより安心かと思います。
10Mはあくまで目安ですので、適当に増減してみて下さい。
サーバーによっては、これらの設定が無効になる場合もあるかもしれません。
「<?php phpinfo(); ?>」とだけ記述されたphpファイルをサーバへアップロードし、
それをブラウザから実行すれば、現在のPHPの設定値を確認することができます。
(local valueの方をご確認下さい)
以上、何度もお手数をおかけして申し訳ありませんが、またご不明な点がありましたら
ご連絡頂ければ幸いです。
bcacsatoさん、すいません、説明が不足しておりました。m(_ _)m
php.iniは、PHPの設定を変更する為のファイルで、CMSDの機能ではなく
PHP本体の機能になります。
php.iniは、通常はPHPをインストールしたフォルダ内に存在します。
php.iniの変更後は、apacheを再起動して頂く必要がありますのでご注意下さい。
また、レンタルサーバーなどをご利用されていて、php.iniの編集権限がない
場合もあるかと思います。
その場合は、.htaccessファイルを編集して頂くことで、php.iniを編集した場合と
同等の効果を得ることができます。
CMSDのインストール先フォルダに .htaccess というファイルを作成し、中に
コード: 全て選択
php_value memory_limit 10M
既に.htaccessが存在する場合には、上記の行を最終行に追加して頂ければOKです。
さらに万全を期すために、
コード: 全て選択
php_value upload_max_filesize 10M
php_value post_max_size 10M
10Mはあくまで目安ですので、適当に増減してみて下さい。
サーバーによっては、これらの設定が無効になる場合もあるかもしれません。
「<?php phpinfo(); ?>」とだけ記述されたphpファイルをサーバへアップロードし、
それをブラウザから実行すれば、現在のPHPの設定値を確認することができます。
(local valueの方をご確認下さい)
以上、何度もお手数をおかけして申し訳ありませんが、またご不明な点がありましたら
ご連絡頂ければ幸いです。