PHP脚本调用命令获取实时输出
生活随笔
收集整理的這篇文章主要介紹了
PHP脚本调用命令获取实时输出
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在寫腳本的時候, 經常會有需要調用其他命令. 而在調用一些耗時命令的時候, 我們是需要能夠實時掌握腳本進度的.
一般來說, 腳本的進度通常是通過腳本的輸出來獲得.
如果是一個bash腳本, 那么直接調用命令 A就可以將執行權交出去, 然后命令 A的輸出就可以實時顯示出來了.
如果是perl腳本, 通過``符號也可以調用命令 A, 但是結果會在命令 A整個結束的時候才能拿到, 此時通過system 命令 A就可以將執行權交給命令 A, 同樣, 命令 A的輸出也能夠實時顯示出來.
如果是PHP腳本, 通過``符號調用, 和perl腳本是一樣的, 只能在命令A結束是才能拿到返回. 那么PHP腳本如何實時獲取命令 A的輸出呢? 可以通過監聽進程輸出的形式:
function real_cmd($command){// 執行命令并打開命令的輸出指針$handle = popen($command, 'r');while (!feof($handle)) {// 循環獲取命令輸出$data = fgets($handle);// 刷新輸出緩沖區ob_flush();flush();echo $data;}// 命令執行結束, 關閉指針pclose($handle); }總結
以上是生活随笔為你收集整理的PHP脚本调用命令获取实时输出的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WiFi的基本调制过程
- 下一篇: php stmp 授权码问题,PHPma