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与已存在的Java应用程序集成
Oct 09 PHP
PHP的FTP学习(三)
Oct 09 PHP
PHP 开源框架22个简单简介
Aug 24 PHP
为PHP初学者的8点有效建议
Nov 20 PHP
php在服务器执行exec命令失败的解决方法
Mar 03 PHP
php后门URL的防范
Nov 12 PHP
Yii中使用PHPExcel导出Excel的方法
Dec 26 PHP
制作安全性高的PHP网站的几个实用要点
Dec 30 PHP
php+mysqli批量查询多张表数据的方法
Jan 29 PHP
PHP判断浏览器、判断语言代码分享
Mar 05 PHP
PHP6新特性分析
Mar 03 PHP
PHP遍历目录文件的常用方法小结
Feb 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+Ajax异步通讯实现用户名邮箱验证是否已注册( 2种方法实现)
2011/12/28 PHP
php _autoload自动加载类与机制分析
2012/02/10 PHP
MySQL的FIND_IN_SET函数使用方法分享
2012/03/27 PHP
关于初学PHP时的知识积累总结
2013/06/07 PHP
PHP利用REFERER根居访问来地址进行页面跳转
2013/09/28 PHP
php轻量级的性能分析工具xhprof的安装使用
2015/08/12 PHP
PHP面向对象之工作单元(实例讲解)
2017/06/26 PHP
PHP中的self关键字详解
2019/06/23 PHP
ajax无刷新动态调用股票信息(改良版)
2008/11/01 Javascript
写自已的js类库需要的核心代码
2012/07/16 Javascript
jquery实现不同大小浏览器使用不同的css样式表的方法
2014/04/02 Javascript
jQuery显示和隐藏 常用的状态判断方法
2015/01/29 Javascript
jQuery+ajax读取json数据并按照价格排序示例
2018/03/28 jQuery
还不懂递归?读完这篇文章保证你会懂
2018/07/29 Javascript
JavaScript多种滤镜算法实现代码实例
2019/12/10 Javascript
基于vue中的scoped坑点解说
2020/09/04 Javascript
Chrome插件开发系列一:弹窗终结者开发实战
2020/10/02 Javascript
探究Python的Tornado框架对子域名和泛域名的支持
2015/05/02 Python
用Python计算三角函数之acos()方法的使用
2015/05/15 Python
jenkins配置python脚本定时任务过程图解
2019/10/29 Python
python函数调用,循环,列表复制实例
2020/05/03 Python
浅谈优化Django ORM中的性能问题
2020/07/09 Python
基于Python爬取搜狐证券股票过程解析
2020/11/18 Python
使用css3背景渐变中的透明度来设置不同颜色的背景渐变
2014/03/31 HTML / CSS
CSS3的column-fill属性对齐列内容高度的用法详解
2016/07/01 HTML / CSS
使用phonegap克隆和删除联系人的实现方法
2017/03/31 HTML / CSS
使用canvas对多图片拼合并导出图片的方法
2018/08/28 HTML / CSS
大专毕业生自我评价分享
2013/11/10 职场文书
电子商务专业学生职业生涯规划
2014/03/07 职场文书
高中运动会广播稿
2014/09/16 职场文书
2016暑期社会实践新闻稿
2015/11/25 职场文书
Python实战之实现简易的学生选课系统
2021/05/25 Python
Redis 彻底禁用RDB持久化操作
2021/07/09 Redis
关于Oracle12C默认用户名system密码不正确的解决方案
2021/10/16 Oracle
python机器学习创建基于规则聊天机器人过程示例详解
2021/11/02 Python
铁头也玩根德 YachtBoy YB-230......
2022/04/05 无线电