Avatar ·

何时在PHP中使用PHP_EOL常量以及它与\n的区别

大家好!我是一名PHP初学者,对PHP_EOL常量感到困惑。文档中说它是“当前平台正确的行结束符”,但我不太明白何时应该使用它。\n\n举个例子:我写了一个脚本,将日志保存到文本文件。目前我使用普通的\n:\n\n```php\n$log = date('Y-m-d H:i:s') . " - 用户登录\n";\nfile_put_contents('log.txt', $log, FILE_APPEND);\n```\n\n在本地服务器(Windows)上一切正常。但当我将代码部署到生产环境(Linux)时,发现有些地方行会粘在一起,有些则不会。朋友建议将\n替换为PHP_EOL,但我不明白:如果\n到处都能用,为什么还要换?\n\n另外,我还在编写包含多行消息的HTML邮件。我在邮件正文中使用\n进行换行:\n\n```php\n$message = "第1行\n第2行\n第3行";\nmail($email, $subject, $message);\n```\n\n在Windows上邮件换行正常,但在Linux上...