FTPの転送モード
FTPでホームページを転送する前にやっておかないといけない設定があります。転送モードの設定です。
HTMLファイルだけの転送なら、どっちでもOK。配布されてるCGI プログラムのアップロードなどなら、作者の指示に従えばOK。ですが、自分でプログラムを書く場合、特にローカル(Windows)で作ったデータファイルをアップしてサーバー(UNIX)上のプログラムで使う場合、とても重要になってきます。
バイナリモードとテキスト(アスキー)モード
一般的に転送モードは以下の2種類です。
バイナリモード
何もしません。
そのままファイルを転送します。ローカルとサーバーのファイルサイズはまったく同じになります。
テキスト(アスキー)モード
改行コードを変換して転送します。
WindowsからUNIXのサーバーへ転送した場合、ファイルサイズは小さくなります。
FTPソフトによっては文字コードの変換もしてくれるものもあります。また、Unicode未対応のサーバーにUnicodeのファイルを転送する場合、テキストモード転送が失敗する可能性もあります。
改行コード
テキストモードで転送した場合、改行コードを自動的に変換してくれます。
Windows:Cr+Lf(\r\n)
Unix/Mac:Lf(\n)
昔のMac:Cr(\r)
ウェブサーバーはだいたいUNIXですから、テキストモードでデータファイルを転送した場合、改行コードはLf(\n)になります。改行を<BR>に変換したりする時は、\nを置換しなければいけません。\r\nを対象にするとマッチしないことになります。
バイナリモードで転送するファイル
改行コードが関係ないファイルや、変換したら困るファイルです。
画像ファイル(JPG、GIF、PNGとか)、圧縮ファイル(ZIP、LHZとか)、音楽ファイル(MID、MP3とか)、PDF、Flashなど
HTMLファイルはどちらでもOKです。HTMLファイルは改行コードは関係ありませんので、テキスト/バイナリどちらでもOKです。
テキストモードで転送するファイル
サーバー上で利用されるファイルです。
CGIプログラム(CGI、PL、PHPなど)、設定ファイル(.htaccessなど)などは絶対に。
ログファイルやテキストファイルなどは用途に応じて。プログラムで読み込んで使う時に、改行コードさえ分かっていればどちらでもOKです。一般的には、テキストモードみたいです。
| 固定リンク | コメント (0) | トラックバック (0)


