php的标准输入与输出是什么?

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");
 
原文地址:https://www.cnblogs.com/Renyi-Fan/p/9099570.html