php的三种CLI常量:STDIN,STDOUT,STDERR

  PHP CLI(command line interface)中,有三个系统常量,分别是STDIN、STDOUT、STDERR,代表文件句柄。

应用一:

<?php
while($line = fopen(‘php://stdin‘,‘r‘)){
    echo fgets($line);
}
?>

应用二:

<?php
    echo STDIN;
?>

在dos命令行下直接返回STDIN文件指针(文件句柄)。如图:

应用三:

<?php
    echo fgets(STDIN);
?>

STDIN可以拿到在dos下输入的内容,fgets读取这个STDIN文件句柄,即可打印出刚才输入的内容。如图:

时间: 2024-10-22 07:28:49

php的三种CLI常量:STDIN,STDOUT,STDERR的相关文章

[LINK]php的三种CLI常量:STDIN,STDOUT,STDERR

FROM : http://www.cnblogs.com/thinksasa/archive/2013/02/27/2935158.html PHP CLI(command line interface)中,有三个系统常量,分别是STDIN.STDOUT.STDERR,代表文件句柄. 应用一: <?php while($line = fopen('php://stdin','r')){ echo fgets($line); } ?> 应用二: <?php echo STDIN; ?&g

WorkerMan源码分析(resetStd方法,PHP中STDIN, STDOUT, STDERR的重定向)

WorkerMan中work.php中 resetStd 方法中代码如下 public static function resetStd() { if (!static::$daemonize || static::$_OS !== 'linux') { return; } global $STDOUT, $STDERR; $handle = fopen(static::$stdoutFile, "a"); if ($handle) { unset($handle); //关闭标准输出

重定向stdin stdout stderr |

在Linux下,当一个用户进程被创建的时候,系统会自动为该进程创建三个数据 流,也就是题目中所提到的这三个.那么什么是数据流呢(stream)? 我们知道,一个程序要运行,需要有输入.输出,如果出错,还要能表现出自身的错误.这是就要从某个地方读入数据.将数据输出到某个地方,这就够成了数据流. 执行一个shell命令行时通常会自动打开三个标准文件,即标准输入文件(stdin),通常对应终端的键盘:标准输出文件(stdout)和标准错误输出文件(stderr),这两个文件都对应终端的屏幕.进程将从标

【转】stdin, stdout, stderr 以及重定向

详细见: http://my.oschina.net/qihh/blog/55308 stdin是标准输入文件,stdout是标准输出文件,stderr标准出错文件. 程序按如下方式使用这些文件: 标准输入是程序可以读取其输入的位置.缺省情况下,进程从键盘读取 stdin . 标准输出是程序写入其输出的位置.缺省情况下,进程将 stdout 写到终端屏幕上. 标准错误是程序写入其错误消息的位置.缺省情况下,进程将 stderr 写到终端屏幕上.

linux 输入--输出--重定向 stdin/stdout/stderr

重定向 shell编辑文本 图形化工具编辑文件   1.重定向     标准输入     标准输出     错误输出 [[email protected] kkk]# cat aaa.sh #!/bin/bash a=1 while [ $a -le 5 ] do useradd user$a let a++ done [[email protected] kkk]# ./aaa.sh [[email protected] kkk]# tail /etc/passwd tcpdump:x:72:

测试:python调用cmd命令三种方法

目前我使用到的python中执行cmd的方式有三种 使用os.system("cmd") 该方法在调用完shell脚本后,返回一个16位的二进制数,低位为杀死所调用脚本的信号号码,高位为脚本的退出状态码,即脚本中"exit 1"的代码执行后,os.system函数返回值的高位数则是1,如果低位数是0的情况下,则函数的返回值是0×100,换算为10进制得到256. 如果我们需要获得os.system的正确返回值,那使用位移运算可以还原返回值: >>>

【转】Python中执行cmd的三种方式

原文链接:http://blog.csdn.net/menglei8625/article/details/7494094 目前我使用到的python中执行cmd的方式有三种: 1. 使用os.system("cmd") 这是最简单的一种方法,特点是执行的时候程序会打出cmd在linux上执行的信息.使用前需要import os. [python] view plaincopyprint? os.system("ls") 2. 使用Popen模块产生新的proces

Day73-CMDB(资产管理采集)的三种实现方式

# 采集数据 import subprocess import requests ret = subprocess.getoutput('ipconfig') # print(ret) # 正则处理获取想要的数据 data_dict = { 'nic':{}, 'disk':{}, 'mem':{}, } # 发送数据 req = requests.post('https://www.cnblogs.com/wupeiqi/articles/6192986.html',data=data_dic

Delphi三种变量申明范围的理解+变量和常量

大体的三种解释是这样的 全局变量:是指在类外声明的变量,通常这种变量时在整个工程内有效的,也就是说在整个工程中的类都可以使用.该变量的生存周期是在工程创建时有效,工程销毁时销毁. 类变量:是指在类中声明的变量,这种变量在类中的方法都可以使用.其生命周期是在类创建时有效,类销毁时销毁. 局部变量:是指在方法内部声明的变量,这种变量只能在方法内部使用.其生命周期也是在方法内部有效,当方法调用结束后,其内部所声明的变量也随之销毁 全局变量放在public底下.类似于vb中类模块中的public a a