Causes and countermeasures when line breaks occur in file data when uploading / downloading files by FTP-Filezilla-

FTPでファイルをアップ/ダウンロードするとファイルのデータに改行が入ってしまうときの原因と対処 -Filezilla編-

公開日: 使い方など

WordPressで自作テーマを作ったり、何かの情報を元にコードを書いたphpファイルを転送する時に使うFTP。これをパソコン側で使うときには「ffftp」「Filezilla」「WinSCP」などのFTPクライアントツールを利用します。

私も何度も「Filezilla」でファイルの転送をしてますが、自作テーマの検証中に以下のような問題が発生しました。

  1. FTPでファイルをアップロードし、再度ダウンロードすると、一部のファイルで勝手に?改行が各行に入る
  2. 圧縮したテーマをアップロード更新(またはインストール)し、FTPでダウンロードすると一部のファイルで勝手に改行が各行に入る
  3. 圧縮したテーマをアップロード更新(またはインストール)後、テーマダウンロード用プラグインを使ってダウンロードした場合には問題が起こらない

もちろん、WordPressで使うファイルは「UTF-8N」、改行コードは「LF」または「CRLF」というのは分かっていて、アップロードする前のファイルはそれらを確認した上で、修正をしているのにも関わらずです。

具体的にはこんな風に改行コードが変わってしまいます(LFでも同じ、画像上が転送前、下が転送後です)

ただ、上記の検証によってFTPクライアントを使ってアップロードまたはダウンロードをすると発生するというのははっきりしたので、私が使っている「Filezilla」の設定に何かがありそうというところへたどり着きました。

まあそれなら3の方法でやればいいのかという話になりそうですが、FTPで転送する機会もあるし、そのたびに修正するのは大変ですし、結局毎回修正になってしまうので、対策をしました。

「Filezilla」でのファイル転送時に改行コードが変わってしまうのを防ぐ設定方法

ファイルの転送時に何かが発生しているところはつかめましたので、設定を見直します。

Filezillaを起動して、「編集」→「設定」を開きます。

出てきた画面の「FTP:ファイルの種類」をクリックします

「デフォルトの転送タイプ」欄で「自動」になっているのを「バイナリ」に変更し、左下の「OK」をクリックして閉じます(赤枠の部分)。

これでファイルを「素」のまま転送するようになりますので、問題は解消します。

もっと細かく設定したい場合は青枠の部分で「css」「php」「js」など、WordPressで転送する可能性のあるものを削除すれば、同様に解消できます(同じことなので私は単純にバイナリにしました)

たったこれだけの作業で解消できるので、困っている方はぜひ設定してください。

アップロードしたものを一度テーマエディタ上で見てみるということをしていませんので、アップロード/ダウンロードのいずれかで発生するのか、最初にアップロードした時に発生するのかまでは検証していませんが、いずれにしても上記の設定変更で解消できます。

おまけ テキストエディタによっては文字コードや改行コードが思い通りにならない場合がある

本件とは全く関係ないですが、私はテキスト編集に「TeraPad」を使っています。

このエディタでは、文字コードを「UTF-8N」、改行コードを「LF」にして保存しても、開きなおすと文字コードが「SHIFT-JIS」になっていたり、改行コードが「CRLF」になっていたりします。

よく調べてはいませんが、「TeraPad」では保存時に文字コードと改行コードのチェックプログラム?が働くようで、何をどうしても「UTF-8N」「CRLF」になってしまうものがあります。

これを「UTF-8」にするときちんと保存できる時もあるのですが、その状態でサーバーにアップロードすると正常に動作しない場合があります。

テストした感じではありますが、文字コードと改行コードが「SHIFT-JIS」、改行コードが「CRLF」であっても特に問題なく動くようですし、いくつかのテーマでこれらの確認をしたところ、すべてのファイルが「SHIFT-JIS」「CRLF」になっているものが結構ありましたので、このあたりはどちらでもいいのかな?と思いますが、文字コード照合順序が厳格な場合(融通がきかない)場合などでは問題となるのかも知れません。

単純にアップ/ダウンロードに失敗するファイルがあるときは

本記事の内容と直接関係ありませんが、設定によってはファイルのアップロード/ダウンロードそのものが失敗する不具合もよくあります。原因と解決方法は以下の記事を参考にしてみてください。

WordPressのカスタマイズ・不具合対応などご相談ください

Wordpressのカスタマイズ、不具合解消のご相談はすべてココナラのダイレクトメッセージからお受けしております。まずはこちらのバナーからお気軽にお問い合わせください。