1. TOP
  2. Web その他
  3. Wordpressのアップロードした画像でハマる

Wordpressのアップロードした画像でハマる

カテゴリ:
Web
その他
| トラックバック(0)
投稿者:yo yo

というかこんなんプログラムのバグだろ。

条件

  • Wordpress 3.6
  • WordpressをLinuxにインストールしている
  • uploadsディレクトリに英数字のファイル名を利用している
  • 大文字小文字が異なる同名異字のファイル(例:TOP_image01.jpg、top_image01.jpg)をアップしている

症状

上記の状態で、uploadsディレクトリのバックアップをWindows系OSのローカルディレクトリへとると、同名異字のファイルが全て上書きされてしまう。

要するに、Windows系OSではTOP_image01.jpgとtop_image01.jpgが同じファイルとして扱われてしまう。

この状態で、何かの拍子に、バックアップをとっておいたuploadsディレクトリをサーバ側にアップロードすると、エントリ内の画像が正しく表示されないという事態に陥る。しかもFTPソフトなどでは通常、常に上書きにしているので判り難い。

たとえば、クライアントが、大文字小文字が異なる同盟の画像ファイルをアップロードしている場合は注意が必要になる。

原因

当たり前の話だけど、OSごとによって同名異字のファイル名が区別されるかどうかが違う。

Linuxなどでは、ファイル名の大文字小文字が区別される

Windowsなどでは、ファイル名の大文字小文字が区別されない

この所為で、アップされていた画像をローカルからFTPなどでアップしなおそうとすると不具合がおきることになる。

その他

というか、大文字小文字区別無く同名のファイルが存在するか確かめない実装をするなんて常識的に考えてありえないんじゃないかなぁ。

「画像を軽くするために、いったんローカルに落として編集し、FTPで上げなおそう」とか考えていた24時間前のオレを全力で止めたい。uploadsフォルダをローカルにバックアップしとけば安心でしょとか思っていたのがそもそもの間違いでした。

« 無職になりました。 | ホーム | [趣味] 淡水水槽における藍藻・アオミドロ対策 »

トラックバック

http://pulltab.info/mt/mt-tb.cgi/98
ページの先頭に戻る