PHP 输入和输出处理
示例
从CLI运行时,预定义了常量STDIN,STDOUT和STDERR。这些常量是文件句柄,可以视为等同于运行以下命令的结果:
STDIN = fopen("php://stdin", "r"); STDOUT = fopen("php://stdout", "w"); STDERR = fopen("php://stderr", "w");
这些常量可以在任何标准文件句柄的地方使用:
#!/usr/bin/php while ($line = fgets(STDIN)) { $line = strtolower(trim($line)); switch ($line) { case "bad": fprintf(STDERR, "%s is bad" . PHP_EOL, $line); break; case "quit": exit; default: fprintf(STDOUT, "%s is good" . PHP_EOL, $line); break; } }
在大多数情况下,可以使用先前引用的内置流地址(php://stdin,php://stdout和php://stderr)代替文件名:
file_put_contents('php://stdout', 'This is stdout content'); file_put_contents('php://stderr', 'This is stderr content'); //打开句柄并多次写入。 $stdout = fopen('php://stdout', 'w'); fwrite($stdout, 'Hello world from stdout' . PHP_EOL); fwrite($stdout, 'Hello again'); fclose($stdout);
或者,您也可以使用readline()输入,也可以将echo或print或任何其他字符串打印功能用于输出。
$name = readline("请输入你的名字:"); print "Hello, {$name}.";