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 相关文章推荐
关于文本留言本的分页代码
Oct 09 PHP
第五章 php数组操作
Dec 30 PHP
php读取本地文件常用函数(fopen与file_get_contents)
Sep 09 PHP
php使用codebase生成随机数
Mar 25 PHP
浅析Yii2 GridView 日期格式化并实现日期可搜索教程
Apr 22 PHP
PHP单例模式定义与使用实例详解
Feb 06 PHP
Laravel中日期时间处理包Carbon的简单使用
Sep 21 PHP
php命令行写shell实例详解
Jul 19 PHP
PHP count()函数讲解
Feb 03 PHP
PHP实现获取url地址中顶级域名的方法示例
Jun 05 PHP
php面向对象基础详解【星际争霸游戏案例】
Jan 23 PHP
PHP执行系统命令函数实例讲解
Mar 03 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
PHP 字符串操作入门教程
2006/12/06 PHP
PHP 定界符 使用技巧
2009/06/14 PHP
PHP图片处理之使用imagecopyresampled函数裁剪图片例子
2014/11/19 PHP
Yii框架学习笔记之session与cookie简单操作示例
2019/04/30 PHP
JavaScript 获取当前时间戳的代码
2010/08/05 Javascript
jQuery Ajax提交表单查询获得数据实例代码
2012/09/19 Javascript
JQuery拖拽元素改变大小尺寸实现代码
2012/12/10 Javascript
理解JAVASCRIPT中hasOwnProperty()的作用
2013/06/05 Javascript
Eclipse下jQuery文件报错出现错误提示红叉
2014/01/13 Javascript
angularjs 处理多个异步请求方法汇总
2015/01/06 Javascript
jQuery+Ajax实现限制查询间隔的方法
2016/06/07 Javascript
jQuery操作cookie
2016/08/08 Javascript
jQuery leonaScroll 1.1 自定义滚动条插件(推荐)
2016/09/17 Javascript
如何快速上手Vuex
2017/02/14 Javascript
javaScript强制保留两位小数的输入数校验和小数保留问题
2018/05/09 Javascript
详解js类型判断
2018/05/22 Javascript
详解JavaScript 新语法之Class 的私有属性与私有方法
2019/04/23 Javascript
浅谈layui数据表格判断问题(加入表单元素),设置单元格样式
2019/10/26 Javascript
详解钉钉小程序组件之自定义模态框(弹窗封装实现)
2020/03/07 Javascript
Vue列表循环从指定下标开始的多种解决方案
2020/04/08 Javascript
jQuery 动画与停止动画效果实例详解
2020/05/19 jQuery
[01:37]DOTA2超级联赛专访ChuaN 传奇般的电竞之路
2013/06/19 DOTA
[50:28]LGD女子学院第三期 DOTA2复仇之魂教学
2013/12/24 DOTA
在windows系统中实现python3安装lxml
2016/03/23 Python
详解python 发送邮件实例代码
2016/12/22 Python
Python实现加载及解析properties配置文件的方法
2018/03/29 Python
Python中利用aiohttp制作异步爬虫及简单应用
2018/11/29 Python
历史学专业大学生找工作的自我评价
2013/10/16 职场文书
个人作风剖析材料
2014/02/02 职场文书
优秀纪检干部材料
2014/08/27 职场文书
三好学生先进事迹材料
2014/08/28 职场文书
2014年人力资源工作总结
2014/11/19 职场文书
护理专业自我评价
2015/03/11 职场文书
2015年保送生自荐信
2015/03/24 职场文书
python实现ROA算子边缘检测算法
2021/04/05 Python
pytorch 如何使用amp进行混合精度训练
2021/05/24 Python