note 22327 modified in features.commandline by vrana
| From: | vrana@php.net | Date: | Tue, 17 Aug 2004 13:55:32 +0000 |
| Subject: | note 22327 modified in features.commandline by vrana | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-79944@lists.php.net to get a copy of this message | ||
PHP 4.3 and above automatically have STDOUT, STDIN, and STDERR openned ... but < 4.3.0 do not.
This is how you make code that will work in versions previous to PHP 4.3 and future versions without
any changes:
<?php
if (version_compare(phpversion(),'4.3.0','<')) {
define('STDIN',fopen("php://stdin","r"));
define('STDOUT',fopen("php://stout","r"));
define('STDERR',fopen("php://sterr","r"));
register_shutdown_function( create_function( '' , 'fclose(STDIN); fclose(STOUT);
fclose(STERR); return true;' ) );
}
/* get some STDIN up to 256 bytes */
$str = fgets(STDIN,256);
?>
--was--
PHP 4.3 and above automatically have STDOUT, STDIN, and STDERR openned ... but < 4.3.0 do not.
This is how you make code that will work in versions previous to PHP 4.3 and future versions without
any changes:
if (version_compare(phpversion(),'4.3.0','<')) {
define('STDIN',fopen("php://stdin","r"));
define('STDOUT',fopen("php://stout","r"));
define('STDERR',fopen("php://sterr","r"));
register_shutdown_function( create_function( '' , 'fclose(STDIN); fclose(STOUT);
fclose(STERR); return true;' ) );
}
/* get some STDIN up to 256 bytes */
$str = fgets(STDIN,256);
http://php.net/manual/en/features.commandline.php