FTPサーバーからlftpとTransmit(Macアプリ)を使用してバックアップを作成しました。すべて問題ありませんが、1-2ファイルのファイルサイズは異なりますが、同じです。
最初のファイル:
http://dl.dropbox.com/u/229956/deadcow_seo.php
2番目のファイル:
http://dl.dropbox.com/u/229956/deadcow_seo.php_2.php
これら2つのファイルの違いは何ですか?
FTPサーバーからlftpとTransmit(Macアプリ)を使用してバックアップを作成しました。すべて問題ありませんが、1-2ファイルのファイルサイズは異なりますが、同じです。
最初のファイル:
http://dl.dropbox.com/u/229956/deadcow_seo.php
2番目のファイル:
http://dl.dropbox.com/u/229956/deadcow_seo.php_2.php
これら2つのファイルの違いは何ですか?
回答:
deadcow_seo.php
Unixの行末記号(LF
)をdeadcow_seo.php_2.php
使用し、DOS / Windowsの行末記号(CR LF
)を使用します。
FTPは、2つの一般的に使用されている、いくつかの「転送モード」を有する1 - バイナリ(また、「画像」という)と、テキスト(または「ASCII」)を。「バイナリ」モードでは、ファイルはそのままバイト単位で転送されますが、「ASCII」はファイルをテキストの行で構成されていると解釈します。行末はCR LF
送信時にネットワーク標準に変換されます。受信時にマシンのネイティブの行末に変換されます。
ファイルをテキストとして転送することは最初は理にかなっているかもしれませんが、後で問題を引き起こすだけです。実際、一部のFTPサーバーはファイルを完全に削除するか、サーバー側のバイナリと同等にします。さらに、ほとんどのテキストエディタ(メモ帳を除く)は、Windows形式とUnix形式の両方でファイルを読み取って保存できます。
常にバイナリモードを使用するようにFTPクライアントを構成するだけです。コマンドは通常bin
またはですがmode i
、グラフィカルクライアントの設定にはチェックボックスまたはファイルタイプリストがあります。
1いくつかの古いモードは、「tenex」(TENEXページベースのファイルでは長く使用されなくなった)と「compressed」(単純なRLEアルゴリズムとして定義されているように見える)です。最近のFTPサーバーは、zlib圧縮の「モードz」をサポートしています。
転送中の改行を置き換えるテキスト(またはASCII)転送モードを使用しました。これは、Windowsでスクリプトとプログラムを開発し、ファイルをLinuxまたはMac OS Xに転送する場合に役立ちます。システムはすべての行の最後にゴミデータを見るため、そうでなければ動作しません。
ファイルは、単一のWindows改行を持っている場合\r\n
(またはCRLF
)、そしてあなたは、LinuxやMac OS Xにダウンロードし、それが置き換えられた\n
(またはLF
1バイト以下です、)。FileMergeを使用してファイルを比較すると、ステータスバーでこれが確認されます。
データ解釈に関するこの回答も参照してください。
Transmitの設定で、テキストとして解釈されるファイルタイプを設定できます。
このリストからすべてのファイル拡張子を削除し、Linux / Mac OS Xの改行、つまり\n
Windowsを使用している場合でも標準化することができます。ほとんどのエディターは、行末モードを変更できます。