php 读取shell管道传输过来的内容


Posted in PHP onMarch 01, 2010

暮夏,您好!
rainbird给您发了短消息:
已经写了不少后台运行的deamon了.用的挺顺手的,但是我现在想获取管道传过来的内容,不知道咋实现,类似echo "aaaa" |a.php,a.php怎么获得echo的内容,不知道您有什么高见.
今天收到一条消息,解决的方法给大家分享一下:
实际上,shell 的 | 实际上表示的是 前一个的 标准输出 作为后一个的标准输入。虽然实现是通过pipe来实现的,
但是你写php代码的时候不需要知道底层的运作。你直接作为标准输入读取就可以了:
下面是一个实验代码:

<?php 
$fp = fopen("php://stdin", "r"); 
$s = ''; 
while (!feof($fp)) 
{ 
$s .= fgets($fp, 128); 
} 
var_dump($s); 
fclose($fp); 
?>

测试方法:
ls -lh | php php_read_pipe.php

Rainbird 还给出更加简单的代码:
file_get_contents('php://stdin')
如果是有很多数据要传输过来,一般来说,是每4K传输一次。
直到传输完成。那可能不能简单的使用:
file_get_contents('php://stdin')。这样的话,一直会在等待。
分开处理的话,能够,读取一定的量后处理一部分。然后释放掉一部分的内存。
比如我要遍历所有的文件。可以这样处理
find / | php php php_read_pipe.php
大家根据具体情况具体分析。
PHP 相关文章推荐
php session 预定义数组
Mar 16 PHP
php getsiteurl()函数
Sep 05 PHP
小文件php+SQLite存储方案
Sep 04 PHP
浅谈PHP与C#的值类型指向区别的详解
May 21 PHP
php中filter_input函数用法分析
Nov 15 PHP
php将textarea数据提交到mysql出现很多空格的解决方法
Dec 19 PHP
PHP实现采集抓取淘宝网单个商品信息
Jan 08 PHP
百度工程师讲PHP函数的实现原理及性能分析(三)
May 13 PHP
超详细的php用户注册页面填写信息完整实例(附源码)
Nov 17 PHP
PDO的安全处理与事物处理方法
Oct 31 PHP
Zend Framework校验器Zend_Validate用法详解
Dec 09 PHP
[原创]php正则删除html代码中class样式属性的方法
May 24 PHP
php 连接mssql数据库 初学php笔记
Mar 01 #PHP
discuz authcode 经典php加密解密函数解析
Jul 12 #PHP
php下使用SimpleXML 处理XML 文件
Feb 27 #PHP
PHP 导出数据到淘宝助手CSV的方法分享
Feb 27 #PHP
基于pear auth实现登录验证
Feb 26 #PHP
php str_pad() 将字符串填充成指定长度的字符串
Feb 23 #PHP
php 用checkbox一次性删除多条记录的方法
Feb 23 #PHP
You might like
MySql中正则表达式的使用方法描述
2008/07/30 PHP
php 生成文字png图片的代码
2011/04/17 PHP
nginx+php-fpm配置文件的组织结构介绍
2012/11/07 PHP
php 批量添加多行文本框textarea一行一个
2014/06/03 PHP
PHP实现的自定义数组排序函数与排序类示例
2016/11/18 PHP
用js小类库获取浏览器的高度和宽度信息
2012/01/15 Javascript
将查询条件的input、select清空
2014/01/14 Javascript
IE下使用jQuery重置iframe地址时内存泄露问题解决办法
2015/02/05 Javascript
PhotoShop给图片自动添加边框及EXIF信息的JS脚本
2015/02/15 Javascript
js淡入淡出焦点图幻灯片效果代码分享
2015/09/08 Javascript
轻松实现Bootstrap图片轮播
2020/04/20 Javascript
对js eval()函数的一些见解
2016/08/15 Javascript
BootStrap 图标icon符号图标glyphicons不正常显示的快速解决办法
2016/12/08 Javascript
js实现图片360度旋转
2017/01/22 Javascript
Bootstrap导航条学习使用(一)
2017/02/08 Javascript
js实现下一页页码效果
2017/03/07 Javascript
jQuery使用zTree插件实现可拖拽的树示例
2017/09/23 jQuery
浅谈在vue项目中如何定义全局变量和全局函数
2017/10/24 Javascript
浅谈Vue.js 组件中的v-on绑定自定义事件理解
2017/11/17 Javascript
vue和better-scroll实现列表左右联动效果详解
2019/04/29 Javascript
如何利用vue+vue-router+elementUI实现简易通讯录
2019/05/13 Javascript
[40:27]完美世界DOTA2联赛PWL S3 PXG vs GXR 第一场 12.19
2020/12/24 DOTA
python轻松实现代码编码格式转换
2015/03/26 Python
Python找出文件中使用率最高的汉字实例详解
2015/06/03 Python
python numpy实现多次循环读取文件 等间隔过滤数据示例
2020/03/14 Python
python+openCV对视频进行截取的实现
2020/11/27 Python
巧用 CSS3的webkit-box-reflect 倒影实现各类动效
2021/03/05 HTML / CSS
英语系毕业生自荐信
2013/10/31 职场文书
小学体育教学反思
2014/01/31 职场文书
2014幼儿园教师师德师风演讲稿
2014/09/10 职场文书
工伤事故赔偿协议书范文
2014/09/24 职场文书
湖南省召开党的群众路线教育实践活动总结大会报告
2014/10/21 职场文书
2015年科学教研组工作总结
2015/07/22 职场文书
2015年中秋寄语
2015/07/31 职场文书
pandas中对文本类型数据的处理小结
2021/11/01 Python
关于Redis的主从复制及哨兵问题
2022/06/16 Redis