特にWindowsを普段利用しているユーザは、サーバに画像などのファイルをアップロードする際に注意が必要です。
全角文字を含むファイル名やフォルダはアップロードしないようにする
これはインターネットが世界中で利用されている事を考えれば当たり前なのですが、日本語や韓国語、中国語などの全角文字は世界中のどのパソコンでも利用できるわけではありません。
特にアップロードするファイル名やフォルダ名が全角文字を含むものだと、日本語版のWindowsパソコンでは普通に表示されても、アメリカのWindowsパソコンでは全角文字を含むURLにアクセスできないといったことにもなります。
サーバにアップロードする際の基本は、ファイル名やフォルダ名に半角英数字を使うという事です。
サーバによっては、全角文字を含むファイル名だとアップロードする段階でうまく行かないこともあります
OSによるファイル名の扱いの違い
サーバに主として利用されているLinuxなどのOSでは、ファイル名に使う英半角の大文字小文字を区別します。しかし、Windowsではファイル名の大文字小文字の区別がありません。
ここに大きな隔たりがあります。
例えば、次のファイル名はWindowsでは全て同じファイルとして扱われてしまいますが、Linuxではそれぞれ別ファイルとなります。
hello.html
HELLO.html
Hello.html
hElLo.HtML
よくある画像ファイルアップロード時の間違い
よくあるのが、画像ファイルを自分のサーバにアップロードしたとき、アクセスすると画像が表示されないといった事です。
例えば以下の画像ファイルを使ったホームページをWindowsパソコンで作ったとします。
neko.JPG
HTMLファイルには次のように記述しました。
<p><img src="neko.jpg" alt="ねこちゃん"></p>
このHTMLファイルをWindowsパソコンで表示しても問題なく画像が表示されます。
しかしサーバにアップロードすると画像は表示されません。あれ???となるわけですが、先ほどの説明が分かった方は修正できるはずです。
画像ファイルは拡張子部分が大文字でした。
neko.JPG
HTMLファイルでは画像ファイル名の拡張子部分が小文字になっています。
<p><img src="neko.jpg" alt="ねこちゃん"></p>
これだとWindowsパソコン上では画像が表示されても、サーバにアップロードした時に問題が生じます。Linuxではファイルが存在しないという扱いになるということです。
こんな時は、どちらかにファイル名を合わせれば大丈夫です。
画像ファイル名を
neko.jpg
と変更して
HTMLの方そのまま
<p><img src="neko.jpg" alt="ねこちゃん"></p>
でもいいですし、
画像ファイル名をそのまま
neko.JPG
として、HTMLファイルの方を
<p><img src="neko.JPG" alt="ねこちゃん"></p>
と修正してもOKです。
画像加工ソフトによっては、画像を保存した際の拡張子部分の文字が英大文字だったり英小文字だったりとまちまちです。画像保存の際はファイル名の拡張子部分にも注意が必要かもしれません。
以上、サーバに画像やHTMLファイルをアップロードする際の注意点でした。
コメント