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 相关文章推荐
提取HTML标签
Oct 09 PHP
中篇:安装及配置PHP
Dec 13 PHP
解决控件遮挡问题:关于有窗口元素和无窗口元素
Jan 28 PHP
php去除重复字的实现代码
Sep 16 PHP
基于PHP异步执行的常用方式详解
Jun 03 PHP
PHP中source #N问题的解决方法
Jan 27 PHP
CodeIgniter框架提示Disallowed Key Characters的解决办法
Apr 21 PHP
php使用google地图应用实例
Dec 31 PHP
PHP实现的自定义数组排序函数与排序类示例
Nov 18 PHP
浅谈PHP命令执行php文件需要注意的问题
Dec 16 PHP
PHP利用Socket获取网站的SSL证书与公钥
Jun 18 PHP
PHP count()函数讲解
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 list()函数的详解
2013/06/05 PHP
PHP快速推送微信模板消息
2017/04/14 PHP
PHP的RSA加密解密方法以及开发接口使用
2018/02/11 PHP
php unlink()函数使用教程
2018/07/12 PHP
JQuery 动态扩展对象之另类视角
2010/05/25 Javascript
js获取系统的根路径实现介绍
2013/09/08 Javascript
js 判断一组日期是否是连续的简单实例
2016/07/11 Javascript
canvas实现图像布局填充功能
2017/02/06 Javascript
使用vue框架 Ajax获取数据列表并用BootStrap显示出来
2017/04/24 Javascript
vue+express+jwt持久化登录的方法
2019/06/14 Javascript
Vue拖拽组件列表实现动态页面配置功能
2019/06/17 Javascript
javascript自定义右键菜单插件
2019/12/16 Javascript
jQuery操作元素的内容和样式完整实例分析
2020/01/10 jQuery
antd-mobile ListView长列表的数据更新遇到的坑
2020/04/08 Javascript
vue 在methods中调用mounted的实现操作
2020/08/07 Javascript
vue项目接口域名动态获取操作
2020/08/13 Javascript
[00:58]他们到底在电话里听到了什么?
2017/11/21 DOTA
python设置检查点简单实现代码
2014/07/01 Python
详解python中的文件与目录操作
2017/07/11 Python
python基础练习之几个简单的游戏
2017/11/10 Python
Python内置函数 next的具体使用方法
2017/11/24 Python
python 实现调用子文件下的模块方法
2018/12/07 Python
Pycharm+Scrapy安装并且初始化项目的方法
2019/01/15 Python
python实现连连看辅助(图像识别)
2020/03/25 Python
浅谈python元素如何去重,去重后如何保持原来元素的顺序不变
2020/02/28 Python
如何利用python 读取配置文件
2021/01/06 Python
Linux机考试题
2015/10/16 面试题
人事专员的职责
2014/02/26 职场文书
讲文明知礼仪演讲稿
2014/09/13 职场文书
入党积极分子十八届四中全会思想汇报
2014/10/23 职场文书
2016年“七一建党节”广播稿
2015/12/18 职场文书
幼儿体育课教学反思
2016/02/16 职场文书
超市啤酒狂欢夜策划方案范文!
2019/07/03 职场文书
图解上海144收音机
2021/04/22 无线电
基于Go语言构建RESTful API服务
2021/07/25 Golang
Pycharm远程调试和MySQL数据库授权问题
2022/03/18 MySQL