我已经看过这个问题,但它对我没有帮助 How do I prepend file to beginning??
我已将此消息附加到文件的末尾:
if ( ! $fp = @fopen($filepath, 'ab'))
{
return FALSE;
}
$message .= $level.' - '.date($this->_date_fmt).' --> '.print_r($msg, TRUE)."\n";
if($this->_add_location){
foreach (array_reverse(debug_backtrace()) as $key => $step) {
$message .= ' # '.($key+1).' Line: '.$step['line'].' File: '.$step['file'];
if(isset($step['function']) && $step['function']==$this->_func_call) $message .= " ---> Call\n";
else $message .= "\n";
}
$message .= "\n";
}
flock($fp, LOCK_EX);
for ($written = 0, $length = strlen($message); $written < $length; $written += $result)
{
if (($result = fwrite($fp, substr($message, $written))) === FALSE)
{
break;
}
}
flock($fp, LOCK_UN);
fclose($fp);
我想知道的是,是否有一种方法可以通过将写入模式ab
更改为其他值来预先添加信息,还是必须重写整个脚本才能执行此操作?
答案 0 :(得分:0)
我不知道这个解决方案是否是最好的,但对于大型文件来说可能相当快。
我不确定这是一个很好的答案,所以我四处搜寻,发现其他人提供了相同的解决方案。
PHP when writing to file, How to prepend and append text to a file with existing text?