WordPress で画像アップロードを使う時の注意点

先日大量にスクショ上げたわけですが、 初めて使った画像アップロード機能でいろいろハマッたので、メモ。

ちなみに WordPress のバージョンは 3.0.1 です。

CentOS で WordPress 使う時のハマリ処

php-gd 入れとけ。

WordPress では gd extension の関数呼んで画像をリサイズしているので、 PHP の gd extension が入ってないと画像のリサイズが出来ません。 CentOS では gd extension は php-gd という別RPMになっているので、 これをインストールしておかないと画像のリサイズが出来なくなります。

画像サイズ選択

画像サイズ選択

上のスクリーンショットは php-gd が入ってる状態のもの。 入っていないと、「サイズ」のところの 「サムネイル」「中サイズ」「大サイズ」が選択出来なくなります。

ちなみに、画像のリサイズはアップロード時に実行されるので、 後で気付いてあわてて php-gd 入れても、入れる前にアップロードした画像は リサイズされません。一旦消してアップロードし直す必要があります。

なお、「サムネイル」「中サイズ」「大サイズ」の実際の大きさは、 「設定」→「メディア設定」で変更することが出来ます。 ただし、変更した場合は画像をアップロードし直さないと 反映されませんが…

画像サイズ変更

画像サイズ変更

アップロードサイズの制限値について

アップロード可能な画像サイズの最大値は、 以下の3つの値のうち一番小さいものになります。

  1. php.ini の post_max_size
  2. php.ini の upload_max_filesize
  3. httpd.conf の LimitRequestBody

特に 3. の LimitRequestBody に気付かなかったりするので注意。 CentOS 5 の場合、/etc/httpd/conf/resource.conf で

LimitRequestBody 65536 

と設定されているので、必要に応じて httpd.conf や .htaccess で 値を変更する必要があります。

アップロード失敗時のエラー

php.ini の post_max_size や upload_max_filesize を変更すると、 アップロード画面の「アップロードファイルの最大サイズ」に、 どちらか小さい方の値が表示されます。 httpd.conf の LimitRequestBody は管理画面には表示されないので注意。

upload_max_filesize を超えるサイズのファイルはアップロードしようとすると、 「アップロードしようとしたファイルは php.ini の upload_max_filesize で 指定されているサイズを超えています。」というエラーが出ます。

upload_max_filesize変更(エラーあり)

upload_max_filesize変更(エラーあり)

一方、post_max_size の方は、エラーメッセージ等何も出ずに黙ってアップロードに失敗します。

post_max_size変更(エラーなし)

post_max_size変更(エラーなし)

スポンサーリンク
スポンサーリンク:

フォローする