我遇到更新脚本问题。它运行了几个小时,所以我希望它能直接输出到文本文件。
我用
启动文档ob_start();
然后在while循环中(因为它遍历数据库的记录)我有这个
$size=ob_get_length();
if ($size > 0)
{
$content = ob_get_contents();
logit($contents);
ob_clean();
}
最后是logit函数
function logit($data)
{
file_put_contents('log.txt', $data, FILE_APPEND);
}
但是日志文件仍为空。我做错了什么?
答案 0 :(得分:6)
试
logit($content);
// ^^ Note the missing s
答案 1 :(得分:0)
$contents
与$content
不是同一个变量。
答案 2 :(得分:0)
对于那些来这里寻找功能的人来说,我今天写了一篇很好的文章:
//buffer php outout between consecutive calls and optionally store it to a file:
function buffer( $toFilePath=0, $appendToFile=0 ){
$status = ob_get_status ();
if($status['level']===1) return ob_start(); //start the buffer
$res = ob_get_contents();
ob_end_clean();
if($toFilePath) file_put_contents($toFilePath, $res, ($appendToFile ? FILE_APPEND : null));
return $res;
}
样本用法:
buffer(); //start the buffer
echo(12345); //log some stuff
echo(678910);
$log = buffer('mylog.txt',1); //add these lines to a file (optional)
echo('Heres the latest log:'.$log);