awacleberryの備忘録

アナログ人間のデジタル日記。

PHPでOS差を吸収する定数を使う

PHP_EOL

改行コードを直接指定すると、

$hoge = "hoge";
echo $hoge, "\n";

みたいにしがち、これだとCRLFに対応できないので、PHP_EOLを使って、

echo $hoge, PHP_EOL ;

にしたほうがよい。環境の違いで、出力をかえてくれるみたい。ちなみに、EOLはEnd of Lineの略。

改行 改行コード
LF \n
CELF \r\n

DIRECTORY_SEPARATOR

ディレクトリパスもつい、

$hoge = "hoge";
$fuga = "fuga";
echo $hoge, "/", $fuga, PHP_EOL;

みたいにしちゃうけど、

echo $hoge, DIRECTORY_SEPARATOR, $fuga, PHP_EOL;

で環境差を吸収できる。

他、PATH_SEPARATORなんかもあるみたい。なお、PHP_OSでOS種を返してくれる。