Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从php脚本写入.log文件时创建新行_Php_Logging_Newline - Fatal编程技术网

从php脚本写入.log文件时创建新行

从php脚本写入.log文件时创建新行,php,logging,newline,Php,Logging,Newline,我通过以下方式从php脚本写入名为mylog.log的.log文件 file_put_contents('mylog.log', "/ntestline"); 脚本的这一部分会运行多次。它似乎在同一行上写入每个条目,当我运行它两个长时间时,日志文件只是读取 ASCII text, with very long lines 如何在从php脚本写入.log文件时添加新行?要以明文(如日志)添加新行,请在字符串中使用“\n”。 例如: 根据文件,您可以使用: file_put_contents('

我通过以下方式从php脚本写入名为mylog.log的.log文件

file_put_contents('mylog.log', "/ntestline");
脚本的这一部分会运行多次。它似乎在同一行上写入每个条目,当我运行它两个长时间时,日志文件只是读取

ASCII text, with very long lines

如何在从php脚本写入.log文件时添加新行?

要以明文(如日志)添加新行,请在字符串中使用“\n”。 例如:

根据文件,您可以使用:

file_put_contents('mylog.log',"\r\ntestline",FILE_APPEND);

正如David Ericsson在他的评论中所说的,您应该使用常量
PHP_EOL
,因为这将为服务器操作系统插入正确的行尾序列

file_put_contents('mylog.log', PHP_EOL . "testline");
也就是说,大多数文本查看器/编辑器可以处理
\n
\r\n
——如果您进一步编辑文件,则更智能的文本查看器/编辑器将继续使用相同的顺序


由于PHP在Linux上是最熟悉的,我建议您使用
\n
如果您没有使用
PHP\u EOL

几乎就在那里
\n
\r\n
如果您在Windows上,还值得注意的是,每次编写日志文件时,文件的内容都会覆盖日志文件。文件的内容('mylog.log',PHP\u EOL.'testline');此选项不可扩展,如果管理员希望更改操作系统,该怎么办<代码>\n并非所有系统都支持
file_put_contents('mylog.log', PHP_EOL . "testline");