logo
当前位置:首 页 > 编程技术 >后端开发 >PHP语言 > 查看文章

PHP直接输出到stdout

PHP语言, 后端开发, 编程技术 你是第2600个围观者 0条评论 供稿者: 标签:,

PHP作为一个专业的网站服务器语言,对于log的输出到console或者到系统log中

 

例子,phpinput脚本cmd终端

<?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()把这个字符串打印输出到标准的输出设备上

另外提供二个实例代码。

 

<?php 
while($str = fread(stdin,1000)){ 
     echo "you print:".$str; 
} 
?>

 

<?php 
//php cli中,有三个系统常量,分别是stdin、stdout、stderr,代表文件句柄。 
 
/**
 *@ 标准输入
 *@ php://stdin & stdin
 *@ stdin是一个文件句柄,等同于fopen("php://stdin", 'r')
 
 */ 
$fh = fopen('php://stdin', 'r'); 
echo "[php://stdin]请输入任意字符:"; 
$str = fread($fh, 1000); 
echo "[php://stdin]你输入的是:".$str; 
fclose($fh); 
echo "[stdin]请输入任意字符:"; 
$str = fread(stdin, 1000); 
echo "[stdin]你输入的是:".$str; 
 
/**
 *@ 标准输出
 *@ php://stdout & stdout
 *@ stdout是一个文件句柄,等同于fopen("php://stdout", 'w')
 */  www.jbxue.com
$fh = fopen('php://stdout', 'w'); 
fwrite($fh, "标准输出php://stdout/n"); 
fclose($fh); 
fwrite(stdout, "标准输出stdout/n"); 
 
/**
 *@ 标准错误,默认情况下会发送至用户终端
 *@ php://stderr & stderr
 *@ stderr是一个文件句柄,等同于fopen("php://stderr", 'w')
 */ 
$fh = fopen('php://stderr', 'w'); 
fwrite($fh, "标准错误php://stderr/n"); 
fclose($fh); 
fwrite(stderr, "标准错误stderr/n");

 

 

 

说说梦想,谈谈感悟 ,聊聊技术,有啥要说的来github留言吧 https://github.com/cjx2328

—— 陈 建鑫

陈建鑫
你可能也喜欢Related Posts
footer logo
未经许可请勿自行使用、转载、修改、复制、发行、出售、发表或以其它方式利用本网站之内容。站长联系:cjx2328#126.com(修改#为@)
Copyright ©ziao Studio All Rights Reserved. E-mail:cjx2328#126.com(#号改成@) 沪ICP备14052271号-3