CORESERVER.JP では PHP がセーフモードで動作しているらしく、PHP でフォルダを生成するとフォルダのオーナー権限が apache になってしまい画像のアップロードが出来なくなります。
ちなみに私の環境は WordPress ME 2.2.3 です。
[ 解決方法 1 ] あらかじめアップロードするフォルダを作っておく方法
一番簡単な解決法は、FTP ソフトなどで、あらかじめ画像アップロード用のフォルダを作っておくと言う物。
- wp-content の中に uploads と言うフォルダを作成し、パーミッションを 777 ( 707 ? ) にする。
- 年月ごとに分けて管理したい場合は、あらかじめフォルダを作っておいてパーミッションを 777 ( 707 ? ) に変更しておく。
上記の方法は簡単なんですが、画像管理プラグインを使って、適当な名前の画像格納フォルダを作りたい私としてはチョット不便。
[ 解決方法 2 ] アップロードする PHP を CGI として動かす方法
あきらめきれずに検索してみると XREA で WordPress ファイルアップロード機能を利用する – Numb. と言うページを発見。
Numb. さま、ありがとうございます。
上記のページを参考にして、以下のような .htaccess を /wp-admin の中に設置。
<files upload.php>
AddHandler application/x-httpd-phpcgi .php
</files>
試しにアップロードしようとした所、Internal Server Error が出たんですが、私が UTF-8 で .htaccess ファイルを書いてしまった為で Shift_JIS に変えると正常に動きました。
WordPress 2.6 + IImage-browser 1.5.2 用に .htaccess を書き換えた @ 2008-08-01 追記
いつからかは分からないが、WordPress のアップグレードで画像をアップロードする PHP ファイルが変わったらしいのと、IImage-browser 日本語版 1.5.2 をインストールしたので、上記の .htaccess を書き換えました。
<filesMatch "(iimage-browser|async-upload).php$">
AddHandler application/x-httpd-phpcgi .php
</filesMatch>
上の様に書いた .htaccess ファイルを /wp-admin の中に設置すれば完了です。
このサイトを拝見したおかげで解決しました!!
ずーと、画像がアップロードできなくて困ってました。
Shift_JISに変える必要があるなんて盲点でした><
通りすがりさん、コメントありがとうございます。
お役に立てたようで嬉しいです。