php中exec()函數以及擷取其傳回值執行個體用法詳解

來源:互聯網
上載者:User

exec

執行外部程式。

文法: string exec(string command, string [array], int [return_var]);

傳回值: 字串

函數種類: 作業系統與環境

內容說明

本函數執行輸入 command 的外部程式或外部指令。它的返回字串只是外部程式執行後返回的最後一行;若需要完整的返回字串,可以使用 PassThru() 這個函數。

要是參數 array 存在,command 會將 array 加到參數中執行,若不欲 array 被處理,可以在執行 exec() 之前呼叫unset() 。若是 return_var 跟 array 二個參數都存在,則執行 command 之後的狀態會填入 return_var 中。

值的注意的是若需要處理使用者輸入的資料,而又要防止使用者耍花招破解系統,則可以使用 EscapeShellCmd()。

問:
我如何在exec("ping $PingDNS", $Info);執行後取得一個傳回值,這個傳回值能夠標記它是否ping通或沒有ping通,exec只能返回外部程式執行後傳回的最後一行啊,help me!!!!

答1:
函數:passthru()
--------------------------------------------------------------------------------
程式執行功能函數庫
passthru
執行外部程式並不加處理輸出資料。

文法: string passthru(string command, int [return_var]);

傳回值: 字串

函數種類: 作業系統與環境

內容說明
本函數類似 Exec() 用來執行 command 指令,並輸出結果。若是 return_var 參數存在,則執行 command 之後的狀態會填入 return_var 中。若輸出的資料是二進位的資料,並且需要輸出到瀏覽器中的話,使用本函數就相當合適了。例如使用 pbmplus 工具來執行指令,並返回二進位的圖形資料。可以先配置返回資料的標題 (header) 為 Content-type: image/gif,然後呼叫 pbmplus 程式處理圖形資料,並將二進位的圖形資料直接返回瀏覽器。

exec("ping $PingDNS", $Info);
將返回一個串,形如:
Reply from x.x.x.x: bytes=32 time<10ms TTL=128
Bad IP address expert.csdn.NET
...
根據這些串的內容可分析出來
另外$Info中保留有執行的過程

附:

今天我在前台PHP向後台C發訊息的時候用到的該函數:

後台要求在使用者操作介面之後即寫動作記錄後要向後台C發一個訊息

$juser = $_SESSION['wms_user'];

exec("/usr/local/apam_new/bin/apam_debug -a operate:$juser,1");

//下面是我的測試方法:

//看有沒有將訊息發至後台

exec("/usr/local/apam_new/bin/apam_debug -a operate:$juser,1",$info);

echo var_dump($info);

結果顯示訊息發至後台,並將背景print的資訊輸出到了fireFox的Firebug欄

主要是要加強對php的exec()函數的瞭解!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.