Home > 2月, 2009
2009.02.01

WordPress2.7への画像アップロードとパーミッションとか

昨日、Googleの記事を書いている時にWordPressへの画像アップロードがうまくいかない事に気がつく。

最初は初歩的なパーミッション(属性)設定だけでうまくいくと軽く考えていたのだが事態は想像以上に厄介な展開に。

まず画像をアップロードしようとすると、アップロードできないと赤文字で警告が表示されたのが今回の騒動のはじまり。

でもねぇ・・・。

その表示が確かならばwp-contentディレクトリ(フォルダ)のパーミッション(属性)を777にし、

次にuploadsディレクトリ(フォルダ)のパーミッション(属性)も777にすればあっさり解決するはずだが・・・。
探してみてもuploadsという名前のディレクトリ(フォルダ)が存在しない。

そこでuploadsを自分で作成しwp-content内に収め、

試しに画像をアップロードするとuploadsではなく

wp-content内に画像がザクザク増殖。uploadsって一体何???

はあ困った・・・(T-T)

仕方がないのでGoogleで検索してみた。するとまず以下のページがヒットする。

WordPress › フォーラム » 画像の挿入

上のページはWordPressの公式フォーラムで、やはりパーミッションに問題があるとの説明がなされuploadsディレクトリ(フォルダ)の事にも言及してる。

わかってるょそんな事・・・。(T-T)

次に検索結果で出ていた以下のページを見てみる。

WordPress › フォーラム » 画像をアップロードしても画像が表示されない

うーん・・・。やはりパーミッションにしか言及してない・・・。

しかも、よく見るとWordPressの2.5.1とか2.6とかの話でバージョン違うじゃん・・・。

今はバージョン2.7なんだょぉ。

ただ、そのページをよく見ると以下のページへのリンクが!!!

WordPress › フォーラム » WP2.6 uploadsディレクトリを変更している場合の画像ファイルのアップロード

キタ━━━━(゜∀゜)━━━━ッ!!        のか?(笑

その内容はwp-includes/functions.php をエディタで開いて

画像URLのパスを無理矢理に変更するというもの。

しかし・・・。バージョンが古いのでfunctions.phpの修正箇所が違う・・・。

もぅ・・。

ただし画像URLのパス変更というのはヒントになったのでfunctions.phpを自分で修正する事に着手。

修正箇所見つけた!(^-^)

functions.phpの1837行目から1846行目

  $dir = WP_CONTENT_DIR . \’/uploads\’;
 else
  $dir = $upload_path;

 // $dir is absolute, $path is (maybe) relative to ABSPATH
 $dir = path_join( ABSPATH, $dir );

 if ( !$url = get_option( \’upload_url_path\’ ) ) {
  if ( empty($upload_path) or ( $upload_path == $dir ) )
   $url = WP_CONTENT_URL . \’ \’/uploads\’;

上の文字列の中の/uploadsのみを消去。

以上で修正は完了し、2.7バージョンでめでたく画像がアップロードできました。

やれやれ・・・。よかった・・・。(^^;