将php输出保存在文件中

时间:2011-05-03 13:57:08

标签: php arrays file printing

我有:

echo"<br>";echo"<br><pre>";print_r($array2);echo"</pre>";
echo"<br>";echo"<br><pre>";print_r($array3);echo"</pre>";
 echo"<br>";echo"<br><pre>";print_r($array4);echo"</pre>";

我需要将所有这些print_r打印保存到文件中(不会在页面中出现任何内容)。

我知道我需要做那样的事情:

$f = fopen("file.txt", "w");
fwrite($f, "TEXT TO WRITE");
fclose($f); 

但我不知道如何将内容放入其中。

Thansk一百万

2 个答案:

答案 0 :(得分:14)

您可以使用Output Buffering,当您想要控制PHP脚本中输出的内容以及如何输出它时,这非常方便。这是一个小样本:

ob_start();
echo"<br>";echo"<br><pre>";print_r($array2);echo"</pre>";
echo"<br>";echo"<br><pre>";print_r($array3);echo"</pre>";
echo"<br>";echo"<br><pre>";print_r($array4);echo"</pre>";

$content = ob_get_contents();

$f = fopen("file.txt", "w");
fwrite($f, $content);
fclose($f); 

编辑:如果您不想在页面中显示输出,则只需调用ob_end_clean():

ob_start();
//...

$content = ob_get_contents();
ob_end_clean();
//... write the file, either with fopen or with file_put_contents

答案 1 :(得分:2)

使用true

中的print_r参数尝试此操作
$f = fopen("file.txt", "w");
fwrite($f, print_r($array2, true));
fwrite($f, print_r($array3, true));
fwrite($f, print_r($array4, true));
fclose($f);