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 相关文章推荐
在Windows系统上安装PHP运行环境文字教程
Jul 19 PHP
php ci框架验证码实例分析
Jun 26 PHP
国外十大最流行的PHP框架排名
Jul 04 PHP
php实现网站留言板功能
Nov 04 PHP
如何解决PHP使用mysql_query查询超大结果集超内存问题
Mar 14 PHP
php投票系统之增加与删除投票(管理员篇)
Jul 01 PHP
PHP实现ASCII码与字符串相互转换的方法
Apr 29 PHP
浅谈PHP错误类型及屏蔽方法
May 27 PHP
yii框架redis结合php实现秒杀效果(实例代码)
Oct 26 PHP
PHP实现APP微信支付的实例讲解
Feb 10 PHP
php使用mysqli和pdo扩展,测试对比mysql数据库的执行效率完整示例
May 09 PHP
php中加密解密DES类的简单使用方法示例
Mar 26 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数据库操作类
2007/09/02 PHP
vs中通过剪切板循环来循环粘贴不同内容
2011/04/30 PHP
php通过ajax实现双击table修改内容
2014/04/28 PHP
PHP数组中头部和尾部添加元素的方法(array_unshift,array_push)
2017/04/10 PHP
php-fpm添加service服务的例子
2018/04/27 PHP
javascript setTimeout()传递函数参数(包括传递对象参数)
2010/04/07 Javascript
js循环改变div颜色具体方法
2013/06/25 Javascript
使用js实现的简单拖拽效果
2015/03/18 Javascript
JavaScript随机打乱数组顺序之随机洗牌算法
2016/08/02 Javascript
jQuery插件HighCharts实现的2D堆条状图效果示例【附demo源码下载】
2017/03/14 Javascript
Angular4 中常用的指令入门总结
2017/06/12 Javascript
javascript  删除select中的所有option的实例
2017/09/17 Javascript
Vue项目使用CDN优化首屏加载问题
2018/04/01 Javascript
微信小程序中添加客服按钮contact-button功能
2018/04/27 Javascript
JS对象与json字符串相互转换实现方法示例
2018/06/14 Javascript
在小程序开发中使用npm的方法
2018/10/17 Javascript
jQuery实现文本显示一段时间后隐藏的方法分析
2019/06/20 jQuery
nodejs一个简单的文件服务器的创建方法
2019/09/13 NodeJs
如何在Vue中使localStorage具有响应式(思想实验)
2020/07/14 Javascript
vue点击标签切换选中及互相排斥操作
2020/07/17 Javascript
jQuery编写QQ简易聊天框
2020/08/27 jQuery
探索node之事件循环的实现
2020/10/30 Javascript
JavaScript Html实现移动端红包雨功能页面
2021/01/10 Javascript
玩转python爬虫之正则表达式
2016/02/17 Python
Python中绑定与未绑定的类方法用法分析
2016/04/29 Python
日本PLST在线商店:日本时尚杂志刊载的人气服装
2016/12/10 全球购物
网游商务专员求职信
2013/10/15 职场文书
大学生个人简历中的自我评价
2013/12/27 职场文书
运动会开幕式解说词
2014/02/05 职场文书
可口可乐广告词
2014/03/20 职场文书
学校节能宣传周活动总结
2014/07/09 职场文书
房屋租赁合同补充协议
2014/10/11 职场文书
学前班学生评语
2014/12/29 职场文书
盗窃罪辩护词范文
2015/05/21 职场文书
WordPress多语言翻译插件 - WPML使用教程
2021/04/01 PHP
GoFrame框架数据校验之校验结果Error接口对象
2022/06/21 Golang