我有一个文本文件,每次访问者访问此页面时,我都会对其执行print_r()。
如何使用print_r()将数据添加到file.txt
文本文件中?目前,文本被覆盖并仅存储最后一个print_r()。
$output = print_r($data, true);
file_put_contents('file.txt', $output);
答案 0 :(得分:4)
您可以使用FILE_APPEND
标志:
file_put_contents('file.txt', $output, FILE_APPEND);
FILE_APPEND 如果文件文件名已存在,请将数据附加到 文件而不是覆盖它。
答案 1 :(得分:1)
您需要设置标记FILE_APPEND
以在文件末尾附加$output
。
file_put_contents('file.txt', $output, FILE_APPEND);
答案 2 :(得分:0)
方法1:
将数据附加到文件的底部( end )。
file_put_contents($fileDestination,print_r($data,true),FILE_APPEND)
方法2:
将数据附加到文件的顶部( start )。
$fileDestination = "/path/to/your/file.txt";
$oldData = "";
/***
Edit some catching if file exists
***/
if(file_exists($fileDestination)){
$oldData = file_get_contents($fileDestination,false, null, 0);
}
$saveData = print_r($data,true).PHP_EOL.$oldData;
unset($oldData);
file_put_contents($fileDestination,$saveData);
方法2说明:
从文件中获取数据,此数据按其在文件中出现的顺序保存在变量中。然后,您获取print_r
数据,然后为其附加换行符并添加旧文件数据,以便新数据显示在文件的顶部,然后将整个块重新写回文件,覆盖当前的内容存在于那里。
PHP_EOL
是PHP End of of line字符,用于换行符。