使用print_r()将数据添加到文本

时间:2016-09-14 16:24:02

标签: php

我有一个文本文件,每次访问者访问此页面时,我都会对其执行print_r()。

如何使用print_r()将数据添加到file.txt文本文件中?目前,文本被覆盖并仅存储最后一个print_r()。

$output = print_r($data, true);
file_put_contents('file.txt', $output);

3 个答案:

答案 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字符,用于换行符。

相关问题