title besides title

 

Monday, November 26, 2012

PHP : Files - [18.19] Writing to Standard Output

18.19.1 Problem

You want to write to standard output.

18.19.2 Solution

Use echo or print:
print "Where did my pastrami sandwich go?";
echo  "It went into my stomach.";

18.19.3 Discussion

While print( ) is a function, echo is a language construct. This means that print( ) returns a value, while echo doesn't. You can include print( ) but not echo in larger expressions:
// this is OK
(12 == $status) ? print 'Status is good' : error_log('Problem with status!');

// this gives a parse error
(12 == $status) ? echo 'Status is good' : error_log('Problem with status!');
Use php://stdout as the filename if you're using the file functions:
$fh = fopen('php://stdout','w') or die($php_errormsg);
Writing to standard output via a file handle instead of simply with print( ) or echo is useful if you need to abstract where your output goes, or if you need to print to standard output at the same time as writing to a file. See Section 18.20 for details.
You can also write to standard error by opening php://stderr:
$fh = fopen('php://stderr','w');