Printing PHP Script Output to File

Printing php script output to file

The easiest method would be to create a string of your HTML data and use the file_put_contents() function.

$htmlStr = '<div>Foobar</div>';
file_put_contents($fileName, $htmlStr);

To create this string, you'll want to capture all outputted data. For that you'll need to use the ob_start and ob_end_clean output control functions:

// Turn on output buffering
echo "<div>";
echo "Foobar";
echo "</div>";

// Return the contents of the output buffer
$htmlStr = ob_get_contents();
// Clean (erase) the output buffer and turn off output buffering
// Write final string to file
file_put_contents($fileName, $htmlStr);

Reference -

  • ob_start()
  • ob_get_contents()
  • ob_end_clean()
  • file_put_contents()

  • PHP output control documentation

How to redirect echo command output to a text file in PHP

Just use fopen/fwrite to write to a file (this will create the output.txt if it does not exist, else overwrites it)

$myfile = fopen("output.txt", "w") or die("Unable to open file!");
fwrite($myfile, $TOKEN);

Include a php file and write the output to a file?

Use output buffering to capture the data and file_put_contents() to save the captured output.

include 'content.php';
$content = ob_get_clean();
file_put_contents('file.txt', $content);

Store PHP Output To File?

You may want to redirect your output in crontab:

php /path/to/php/file.php >> log.txt

Or use PHP with, for example, file_put_contents():

file_put_contents('log.txt', 'some data', FILE_APPEND);

If you want to capture all PHP output, then use ob_ function, like:

We're doing stuff..
and again
$content = ob_get_contents();
ob_end_clean(); //here, output is cleaned. You may want to flush it with ob_end_flush()
file_put_contents('log.txt', $content, FILE_APPEND);

Saving php output in a file

Try this out using the true param in the 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));

PHP Print to txt file and Redirect after form submit

You need a newline after data. Then use the PHP header() function to redirect.

You could use "\r\n" as the newline but I like PHP_EOL:

$fp = fopen('data.txt', 'a');
fwrite($fp, $data . PHP_EOL);

Printing / Echoing To Console from PHP Script

Thats the method of doing it.

Things to check for are output buffering

Is that code actually being run ? Make sure it doesnt branch before it gets there

Related Topics

Leave a reply