【PHP】ファイル読み込み時、CSVファイルの改行が認識されない対処法

スポンサーリンク

PHPでCSV等のファイル読み込み時、改行が認識されなく、1行のみで終わってしまう時の対処法。

改行コードは、LF、 CR、 LF+CRと3種類存在しますが、
改行コード「CR」で保存されたCSVファイルは、ファイル読み込み時、改行コードと認識されない場合があります。

これは、PHPのデフォルト設定では、CRは改行扱いされない設定になっている為で、対処法としては以下の通り。

  1. CSVファイルの改行コードを「LF」または「LF+CR」に変換して保存しなおす。
  2. PHPの設定で「CRも改行扱いしてね」と設定してあげる。

両方やる必要はなく、どちらか1つでOKです。
以下は、CRも改行扱いする設定です。デフォルトでは、falseになっているのでtrueにしてあげます。

ini_set('auto_detect_line_endings',true);

※ EXCELの別名保存で、「CSV UTF-8(コンマ区切り)(.csv)」で保存すると、改行コードがCRになるようです。

PHP
スポンサーリンク
\気になるあの子にも教えてあげよう/

コメント

タイトルとURLをコピーしました