一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

php 讀取shell管道傳輸過來的內容

暮夏,您好!
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 讀取shell管道傳輸過來的內容,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 在线观看亚洲精品国产 | 精品视频中文字幕 | 日本www在线观看 | 亚洲国产网站 | 天天色天天干天天 | 欧美精品亚洲二区 | 天天色综合天天 | 99久在线精品99re6视频 | 午夜一级做a爰片久久毛片 午夜影院日韩 | 天天拍拍天天爽免费视频 | 永久黄网站色视频免费观看 | 黄色片网站免费在线观看 | 伊人影院在线观看视频 | 狠狠插综合 | 亚洲精品在线播放视频 | 国内福利视频 | 国产在线91观看免费观看 | 狼人伊人干 | 国产女视频 | 国产成人精品免费大全 | 国产精品久久1024 | 成人免费福利 | 一区二区亚洲视频 | 99热这里有免费国内精品 | 亚洲情综合五月天 | 色四播播| 国产一二三 | 蜜桃视频成a人v在线 | 五月天婷婷久久 | 激情深爱五月 | 中文字幕国产在线 | 色婷婷久久久swag精品 | 米奇狠狠干| 成人在线免费视频观看 | 亚洲视频一区二区三区 | 亚洲最大视频网 | 精品国产一区二区三区国产馆 | 91精品久久久久久久99蜜桃 | 91精品久久久久亚洲国产 | www.色网站 | 午夜免费视频 |