PHP_EOLは、PHPシステムのソースコードで定義されている改行文字定数です。
なぜそのような定数があるのですか?
改行文字はシステムによって異なるため。例:
UNIXシリーズnの場合
Windowsシリーズrn用
Mac用
そのため、PHP_EOL は php で定義されており、この定数はソースコードレベルのコードの移植性を向上させるためにプラットフォームに応じて変更されます。
リーリー類似した一般的に使用されるものは
DIRECTORY_SEPARATOR
PHP の組み込み定数 DIRECTORY_SEPARATOR はシステム区切り文字を表示するコマンドで、定義やインクルードなしで直接使用できます。
ご存知のとおり、Windows のパス区切り文字は (もちろん、一部のシステムでは / も正常に実行できます)、Linux のパス区切り文字は / であるため、たとえば、開発マシンが Windows の場合に問題が発生します。 、画像アップロード プログラムがあり、デバッグ マシン上の指定されたアップロード ファイル保存ディレクトリは次のとおりです:
リーリーローカルでデバッグするのは正常ですが、Linuxサーバーにアップロードするとエラーが発生します。したがって、上記のコードの厳密な記述方法は次のとおりです:
define('ROOT', dirname(__FILE__).DIRECTORY_SEPARATOR."upload");
ヒント: 関数 get_define_constants() を使用すると、すべての PHP 定数を取得できます。例:
<?php echo PHP_EOL; //windows平台相当于 echo "\r\n"; //unix\linux平台相当于 echo "\n"; //mac平台相当于 echo "\r";