php的标准输入与输出是什么?
一、总结
php的标准输入与输出(STDIN是一个文件句柄,等同于fopen("php://stdin", 'r'))
1、STDIN是一个文件句柄,等同于fopen("php://stdin", 'r')
二、php的标准输入与输出
<?php // ask for input fwrite(STDOUT, "Enter your name: "); // get input $name = trim(fgets(STDIN)); 接收用户输入 // write input back fwrite(STDOUT, "Hello, $name!"); ?>
运行方法:
1.运行cmd
2.跳至php.exe所在目录
3.敲入命令
还是用脚本来说话:
运行:php inouttest.php
运行结果为:
Enter your name: davy
Hello, davy!
其中:
常量 说明
STDIN 标准的输入设备
STDOUT 标准的输出设备
STDERR 标准的错误设备
可以在PHP脚本里使用这三个常量,以接受用户的输入,或者显示处理和计算的结果。
PHP处理过程如下:fwrite()函数首先会向标准的输出设备写一条消息,询问用户的姓名。然后它会把从标准输入设备获得的用户输入信息读取到一个PHP变量里,并它把合并成为一个字符串。然后就用fwrite()把这个字符串打印输出到标准的输出设备上
另举两例:
1 <?php 2 while($str = fread(STDIN,1000)){ 3 echo "you print:".$str; 4 } 5 ?> 6 7 8 9 <?php 10 //PHP CLI中,有三个系统常量,分别是STDIN、STDOUT、STDERR,代表文件句柄。 11 12 /** 13 *@ 标准输入 14 *@ php://stdin & STDIN 15 *@ STDIN是一个文件句柄,等同于fopen("php://stdin", 'r') 16 17 */ 18 $fh = fopen('php://stdin', 'r'); 19 echo "[php://stdin]请输入任意字符:"; 20 $str = fread($fh, 1000); 21 echo "[php://stdin]你输入的是:".$str; 22 fclose($fh); 23 echo "[STDIN]请输入任意字符:"; 24 $str = fread(STDIN, 1000); 25 echo "[STDIN]你输入的是:".$str; 26 27 /** 28 *@ 标准输出 29 *@ php://stdout & STDOUT 30 *@ STDOUT是一个文件句柄,等同于fopen("php://stdout", 'w') 31 */ 32 $fh = fopen('php://stdout', 'w'); 33 fwrite($fh, "标准输出php://stdout/n"); 34 fclose($fh); 35 fwrite(STDOUT, "标准输出STDOUT/n"); 36 37 /** 38 *@ 标准错误,默认情况下会发送至用户终端 39 *@ php://stderr & STDERR 40 *@ STDERR是一个文件句柄,等同于fopen("php://stderr", 'w') 41 */ 42 $fh = fopen('php://stderr', 'w'); 43 fwrite($fh, "标准错误php://stderr/n"); 44 fclose($fh); 45 fwrite(STDERR, "标准错误STDERR/n");