インポートされた CSV ファイルから BOM を削除する
.csv ファイルをインポートするときに、BOM (バイト オーダー マーク) が発生するのが一般的です。データ処理を妨げる可能性があります。この問題は、ファイルから BOM を削除することで解決できます。
BOM を削除する 1 つの方法は、正規表現を使用することです。
$new_file = preg_replace('/[\x00-\x1F\x80-\xFF]/', '', $file);
ただし、この方法は常に信頼できるとは限りません。 file_get_contents 関数を使用する別のアプローチをお勧めします。
$content = file_get_contents($filepath); file_put_contents($filepath, str_replace("\xEF\xBB\xBF", '', $content));
このアプローチでは、BOM が削除されたデータでファイルが上書きされるため、BOM に干渉することなくファイルの処理を続行できます。
ただし、 file_put_contents を使用するとファイルが閉じられるため、既存のスクリプトが中断される可能性があります。これを解決するには、次のように記述した後で fopen を使用してファイルを再度開きます。
$file = fopen($filepath, "r") or die("Error opening file");
これらの手法を実装することで、インポートされた .csv ファイルから BOM を効果的に削除し、スクリプト内でスムーズなデータ処理を確保できます。
以上がインポートされた CSV ファイルから BOM を削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。