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.跳⾄所在⽬录
3.敲⼊命令
还是⽤脚本来说话:
运⾏:php inouttest.php
运⾏结果为:
Enter your name: davy
Hello, davy!
其中:
常量说明
STDIN 标准的输⼊设备
STDOUT 标准的输出设备
STDERR 标准的错误设备
可以在PHP脚本⾥使⽤这三个常量,以接受⽤户的输⼊,或者显⽰处理和计算的结果。
PHP处理过程如下:fwrite()函数⾸先会向标准的输出设备写⼀条消息,询问⽤户的姓名。然后它会把从标准输⼊设备获得的⽤户输⼊信息读取到⼀个PHP变量⾥,并它把合并成为⼀个字符串。然后就⽤fwrite()把这个字符串打印输出到标准的输出设备上
另举两例:
1 <?php
2while($str = fread(STDIN,1000)){
3echo "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');
19echo "[php://stdin]请输⼊任意字符:";
20$str = fread($fh, 1000);
21echo "[php://stdin]你输⼊的是:".$str;
22fclose($fh);
23echo "[STDIN]请输⼊任意字符:";
24$str = fread(STDIN, 1000);
25echo "[STDIN]你输⼊的是:".$str;
26
27/**
28 *@ 标准输出
29 *@ php://stdout & STDOUT
30 *@ STDOUT是⼀个⽂件句柄,等同于fopen("php://stdout", 'w') 31*/
32$fh = fopen('php://stdout', 'w');
33fwrite($fh, "标准输出php://stdout/n");
34fclose($fh);
35fwrite(STDOUT, "标准输出STDOUT/n");
36
37/**
38 *@ 标准错误,默认情况下会发送⾄⽤户终端fread和fwrite的区别
39 *@ php://stderr & STDERR
40 *@ STDERR是⼀个⽂件句柄,等同于fopen("php://stderr", 'w') 41*/
42$fh = fopen('php://stderr', 'w');
43fwrite($fh, "标准错误php://stderr/n");
44fclose($fh);
45fwrite(STDERR, "标准错误STDERR/n");