У меня есть:
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 миллион
Попробуйте это, используя 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);
Вы можете использовать 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);
EDIT: Если вы не хотите показывать вывод на своей странице, вам просто нужно вызвать ob_end_clean ():
ob_start(); //... $content = ob_get_contents(); ob_end_clean(); //... write the file, either with fopen or with file_put_contents