我有:
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一百万
答案 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);