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

另举两例:

 <?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')
*/
$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");
 

php的标准输入与输出是什么?的更多相关文章

  1. Linux shell的标准输入、输出和错误

    编译文件时,若编译过程时间长,可以将  标准错误  重定向  输出到一个文件中   2 > 1.txt         也可以通过管道  重定向 到 标准输出    2 > &1 ...

  2. Linux标准输入、输出和错误和文件重定向(转) --- good

    标准输入.输出和错误 当我们在shell中执行命令的时候,每个进程都和三个打开的文件相联系,并使用文件描述符来引用这些文件.由于文件描述符不容易记忆,shell同时也给出了相应的文件名.下面就是这些文 ...

  3. 编程语言的分类及其优缺点,Python标准输入与输出

    一. 编程语言分类 1.机器语言 以0,1的组合作为指令集,用二进制指令来编写程序: 优点:执行效率高 缺点:开发效率低 2.汇编语言 用英文标签代替二进制指令集来编写程序,比机器语言稍微高级,但本质 ...

  4. Linux标准输入、输出和错误和文件重定向 专题

    当我们在shell中执行命令的时候,每个进程都和三个打开的文件相联系,并使用文件描述符来引用这些文件.由于文件描述符不容易记忆,shell同时也给出了相应的文件名. 下面就是这些文件描述符及它们通常所 ...

  5. K8S学习笔记之使用Fluent-bit将容器标准输入和输出的日志发送到Kafka

    0x00 概述 K8S内部署微服务后,对应的日志方案是不落地方案,即微服务的日志不挂在到本地数据卷,所有的微服务日志都采用标准输入和输出的方式(stdin/stdout/stderr)存放到管道内,容 ...

  6. 【C++札记】标准输入与输出

    概述 C语言中使用函数scanf和printf作为标准输入和输出,在C++中引入了类cin和cout进行标准输入和输出,所需头文件为<iostream>,命名空间是std.这里所说的标准输 ...

  7. python调用外部子进程,通过管道实现异步标准输入和输出的交互

    我们通常会遇到这样的需求:通过C++或其他较底层的语言实现了一个复杂的功能模块,需要搭建一个基于Web的Demo,方法查询数据.由于Python语言的强大和简洁,其用来搭建Demo非常合适,Flask ...

  8. C语言学习007:重定向标准输入和输出

    先来完成一个将输入数据转换成json格式输出的小任务 #include <stdio.h> int main(){ float latitude; float longtitude; ]; ...

  9. shell 中的>文件重定向符 和 标准输入、输出、错误以及 2&1 的含义*

    http://www.cnblogs.com/chenmh/p/5382044.html 问:其中 的2>&1是怎么回事? . test.sh > test.log 2>&a ...

随机推荐

  1. Vue render: h => h(App) $mount

    $mount()手动挂载 当Vue实例没有el属性时,则该实例尚没有挂载到某个dom中: 假如需要延迟挂载,可以在之后手动调用vm.$mount()方法来挂载.例如: new Vue({ //el: ...

  2. 用实力让情怀落地!阅兵前线指挥车同款电视TCL&#160;H8800受捧

        近期.一则重磅消息刷爆了平面媒体.微博.朋友圈等各个传播渠道:TCL曲面电视H8800正式入驻大阅兵前线指挥车以及国旗护卫队荣誉室.宣告代表眼下中国彩电业最高技术水准的曲面电视,正式走上大阅兵 ...

  3. 简单的横向ListView实现(version 4.0)

    这个版本号的博客写起来颇费口舌.有些代码自己语言组织能力有限,感觉描写叙述起来非常费劲,前前后后改了五六遍稿子还是不尽人意 ,只是我还是坚持写出来自己当初的思路,假设看得不明确的地方我在文章最后仍然会 ...

  4. javascript之Ajax起步

    XMLHttpRequest  readyState属性的值: UNSENT--0--已创建XMLHttpRequest对象. OPENED--1--已调用open方法: HEADERS_RECEIV ...

  5. AndroidStudio 内存泄漏分析 Memory Monitor

    ok.写一段内存泄漏的code private TextView txt; @Override protected void onCreate(Bundle savedInstanceState) { ...

  6. WebApp调用手机相册或摄像头、拨打电话

    WebApp调用手机相册或摄像头.拨打电话 一.总结 一句话总结:input标签,指定type为file,选择好对应的accept即可.camera——相机,相应的accept为image : cam ...

  7. What is corresponding Cron expression to fire in every X seconds, where X > 60? --转载

    原文地址:http://stackoverflow.com/questions/2996280/what-is-corresponding-cron-expression-to-fire-in-eve ...

  8. JS实现按下按键触发点击事件

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  9. POJ 1862 Stripies 贪心+优先队列

    http://poj.org/problem?id=1862 题目大意: 有一种生物能两两合并,合并之前的重量分别为m1和m2,合并之后变为2*sqrt(m1*m2),现在给定n个这样的生物,求合并成 ...

  10. iOS_02_什么是ios开发

    什么是ios开发? * 已知:ios是iphone,ipad等手持设备操作系统. * ios开发就是开发运行在ios系统上的应用或者游戏软件,比如手机QQ,微博或者游戏,说白了,就是开发手机软件:当然 ...