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.ini中文版
Oct 09 PHP
生成sessionid和随机密码的例子
Oct 09 PHP
PHP语法速查表
Dec 06 PHP
提高php运行速度的一些小技巧分享
Jul 03 PHP
学习php中的正则表达式
Aug 17 PHP
PHP中绘制图像的一些函数总结
Nov 19 PHP
基于laravel制作APP接口(API)
Mar 15 PHP
微信红包随机生成算法php版
Jul 21 PHP
Ajax和PHP正则表达式验证表单及验证码
Sep 24 PHP
thinkPHP模板引擎用法示例
Dec 08 PHP
PHP工厂模式简单实现方法示例
May 23 PHP
PHP设计模式概论【概念、分类、原则等】
May 01 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
ADODB结合SMARTY使用~超级强
2006/11/25 PHP
PHP 事务处理数据实现代码
2010/05/13 PHP
phpmyadmin里面导入sql语句格式的大量数据的方法
2010/06/05 PHP
PHP面向对象的进阶学习(抽像类、接口、final、类常量)
2012/05/07 PHP
可以保证单词完整性的PHP英文字符串截取代码分享
2014/07/15 PHP
PHP遍历目录函数opendir()、readdir()、closedir()、rewinddir()总结
2014/11/18 PHP
PHP会员找回密码功能的简单实现
2016/09/05 PHP
[原创]PHP正则匹配中英文、数字及下划线的方法【用户名验证】
2017/08/01 PHP
PHP开发之归档格式phar文件概念与用法详解【创建,使用,解包还原提取】
2017/11/17 PHP
php使用curl伪造来源ip和refer的方法示例
2018/05/08 PHP
JavaScript 权威指南(第四版) 读书笔记
2009/08/11 Javascript
js实现全屏漂浮广告移入光标停止移动
2013/12/02 Javascript
javascript 中that的含义示例介绍
2014/05/14 Javascript
JavaScript中实现依赖注入的思路分享
2015/01/15 Javascript
jquery trigger实现联动的方法
2016/02/29 Javascript
Vue.JS入门教程之处理表单
2016/12/01 Javascript
详解Vue 方法与事件处理器
2017/06/20 Javascript
微信小程序 Buffer缓冲区的详解
2017/07/06 Javascript
基于Vue 服务端Cookies删除的问题
2018/09/21 Javascript
ES6的Fetch异步请求的实现方法
2018/12/07 Javascript
微信小程序select下拉框实现效果
2019/05/15 Javascript
Python中用format函数格式化字符串的用法
2015/04/08 Python
python的socket编程入门
2018/01/29 Python
Python常见读写文件操作实例总结【文本、json、csv、pdf等】
2019/04/15 Python
使用python画社交网络图实例代码
2019/07/10 Python
Pytorch: 自定义网络层实例
2020/01/07 Python
澳大利亚吉他在线:Artist Guitars
2017/03/30 全球购物
ktv中秋节活动方案
2014/01/30 职场文书
党员实事承诺书
2014/03/26 职场文书
公司董事长岗位职责
2014/06/08 职场文书
水利局群众路线专题民主生活会发言材料
2014/09/21 职场文书
教师对照四风自我剖析材料
2014/09/30 职场文书
兴趣班停课通知
2015/04/24 职场文书
美容院员工规章制度
2015/08/05 职场文书
2016北大自主招生自荐信模板
2016/01/28 职场文书
python识别围棋定位棋盘位置
2021/07/26 Python