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的面向对象编程
Oct 09 PHP
PHP 中的一些经验积累
Oct 09 PHP
PHP截取汉字乱码问题解决方法mb_substr函数的应用
Mar 30 PHP
选择PHP作为网站开发语言的原因分享
Jan 03 PHP
php实例分享之二维数组排序
May 15 PHP
PHP中使用匿名函数操作数据库的例子
Nov 17 PHP
php通过strpos查找字符串出现位置的方法
Mar 17 PHP
PHP学习笔记(三):数据类型转换与常量介绍
Apr 17 PHP
Yii框架中jquery表单验证插件用法示例
Oct 18 PHP
thinkphp5 URL和路由的功能详解与实例
Dec 26 PHP
PHP7.1实现的AES与RSA加密操作示例
Jun 15 PHP
laravel实现查询最后执行的一条sql语句的方法
Oct 09 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下批量挂马和批量清马代码
2011/02/27 PHP
laravel中的错误与日志用法详解
2016/07/26 PHP
PHP以json或xml格式返回请求数据的方法
2018/05/31 PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
2019/12/25 PHP
通过判断JavaScript的版本实现执行不同的代码
2010/05/11 Javascript
jQuery dialog 异步调用ashx,webservice数据的代码
2010/08/03 Javascript
js操作textarea方法集合封装(兼容IE,firefox)
2011/02/22 Javascript
获得所有表单值的JQuery实现代码[IE暂不支持]
2012/05/24 Javascript
jquery slibings选取同级其他元素的实现代码
2013/11/15 Javascript
jQuery的one()方法用法实例
2015/01/19 Javascript
JavaScript实现简单的拖动效果
2016/07/02 Javascript
jQuery.cookie.js使用方法及相关参数解释
2017/03/06 Javascript
利用Javascript获取选择文本所在的句子详解
2017/12/03 Javascript
layer插件select选中默认值的方法
2018/08/14 Javascript
vue 中Virtual Dom被创建的方法
2019/04/15 Javascript
vue+element tabs选项卡分页效果
2020/06/29 Javascript
jQuery实现弹出层效果
2019/12/10 jQuery
vue+springboot图片上传和显示的示例代码
2020/02/14 Javascript
使用Python来开发Markdown脚本扩展的实例分享
2016/03/04 Python
Python随机读取文件实现实例
2017/05/25 Python
selenium+python自动化测试之鼠标和键盘事件
2019/01/23 Python
python字符串切割:str.split()与re.split()的对比分析
2019/07/16 Python
python模拟点击玩游戏的实例讲解
2020/11/26 Python
如果NULL和0作为空指针常数是等价的,那我到底该用哪一个
2014/09/16 面试题
化工专业应届生求职信
2013/11/08 职场文书
公司清洁工岗位职责
2013/12/14 职场文书
党校培训思想汇报
2014/01/03 职场文书
暑期研修感言
2014/02/17 职场文书
中学生学雷锋活动心得体会
2014/03/10 职场文书
学生会感恩节活动方案
2014/10/11 职场文书
见习报告的格式
2014/11/04 职场文书
房屋买卖协议样本
2014/11/16 职场文书
幼儿园家长工作总结2015
2015/04/25 职场文书
大学自主招生自荐信(2016精选篇)
2016/01/28 职场文书
2019假期福利管理制度!
2019/07/15 职场文书
Python获取字典中某个key的value
2022/04/13 Python