PHPでCSVファイルを出力するコードを書いたのですが、出力されたCSVファイルを開くと謎の空行が先頭に入ってしまうという現象が起きてハマりました。
原因は
PHPのコードは<?php ?>のタグの間に記述しますが
このように?>の後ろに空行が入っていた場合はechoと同じ扱いとなってしまいます。
この空行がCSV出力した際に一緒に出力されてしまい、余分な空行が入ってしまうのです。
◎対処方法
PHPの仕様でPHPコードのみで記述されたファイルでは閉じタグを省略することが可能です。閉じタグを記述しなければ空行が出力されることはありません。