时间:2021-05-26
暮夏,您好!
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
大家根据具体情况具体分析。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
如何将图片和声音转化成byte[],并通过webservice进行传输?如何将webservice传输过来的byte[],转化成我们想要的文件?1、文件转化为b
hdmi线也就是高清的多媒体接口线,所有的高清视频或者音频数据等等都是经过hdmi线传输过来的。hdmi线的传输速度最高可以高达5Gbps,并且不需要在信号
hdmi线也就是高清的多媒体接口线,所有的高清视频或者音频数据等等都是经过hdmi线传输过来的。hdmi线的传输速度最高可以高达5Gbps,并且不需要在信号
本文介绍了NodeJs使用KOA处理form-data格式传输过来的文件,分享给大家。具体如下:使用koa有一段时间了,评价是小巧精悍,只封装了基本的如requ
最近有个朋友问我关于Node.js下使用ECDSA的问题,主要是使用Node.js的Crypto模块无法校验网络传输过来的签名结果。在踩坑无数后,终于搞清楚了原