如何使用ob_start附加到文件

Fun*_*ner 5 php file append

我现在已经看了很长一段时间,看看如果使用带有PHP的ob_start,是否可以"附加"到文件中.

我尝试了以下但没有奏效.有没有实现这个目标?

<?php

$cacheFile = 'file.txt';

if ( (file_exists($cacheFile)) && ((fileatime($cacheFile) + 600) > time()) )
{
$content = file_get_contents($cacheFile);
echo $content;
} else
{
ob_start();
// write content
echo '<h1>Hello world</h1>';
$content = ob_get_contents();
ob_end_clean();
file_put_contents($cacheFile,$content,'a+'); // I added the a+
echo $content;
}
?>
Run Code Online (Sandbox Code Playgroud)

我从SO的另一篇文章中借用了上面的例子

Ja͢*_*͢ck 7

要附加使用,file_put_contents()您只需传递FILE_APPEND第三个参数:

file_put_contents($cacheFile, $content, FILE_APPEND);
Run Code Online (Sandbox Code Playgroud)

它也可以用于使用二进制OR运算符应用文件锁定,例如FILE_APPEND | LOCK_EX.


Roc*_*mat 4

file_put_contents不是这样的。要追加,您需要手动使用fopen,fwrite和。fclose

$file = fopen($cacheFile, 'a+');
fwrite($file, $content);
fclose($file);
Run Code Online (Sandbox Code Playgroud)