php呼叫linux命令函式

2021-06-18 05:58:07 字數 1485 閱讀 5848

1、exec() 函式

<?php

$command = "ls -al /etc";

exec($command, $array);

var_dump($array);

$result = system($command);

$result = shell_exec($command);

var_dump($result);

?>

2、system函式 有返回值

3、shell_exec() 函式 和exec有點一樣

4、passthru() 函式沒有返回值 和system一起記憶

5、popen()函式

首先執行命令返回乙個資源控制代碼,然後我們用while迴圈用fgets函式每次讀出4096個位元組最後輸出

<?php

$test = "ls /tmp/test";

$fp = popen($test,"r"); //popen打乙個程序通道

while (!feof($fp))

pclose($fp);

?>

6、proc_open()函式

第乙個引數是要執行的命令

第二個引數是標準輸入標準輸出,是乙個陣列

第三個引數儲存函式執行的結果

<?php

$test = "ls /tmp/test";

$arrayarray = array(

array("pipe","r"), //標準輸入

array("pipe","w"), //標準輸出內容

array("pipe","w") //標準輸出錯誤

);$fp = proc_open($test,$arrayarray,$pipes); //開啟乙個程序通道

echo stream_get_contents($pipes[1]); //為什麼是$pipes[1],因為1是輸出內容

proc_close($fp);

同步shell命令

#!/usr/bin/expect -f

set password ****

spawn rsync -auzvp /home/htdocs/shopphp/img/pimgs [email protected]:/home/htdocs/shopphp/img

expect "(yes/no)?" "password:"

#expect "[email protected]'s password:"

#send "$password\r"

send "exit\r"

expect eof

php呼叫外部命令(Linux下)

exec cp fpath.tpath,out,status 複製檔案,fpath為原檔案位址,tpath為要複製到的位置路徑,status為執行結果返回值。include conn to.php top sql select from uchome pic where 1 order by pic...

php 呼叫系統命令

system 與 exec 兩者區別與聯絡 都會返回最後一行,命令執行成功的return返回值,區別 system直接將輸出內容echo出來,而exec將每一行輸出內容儲存到陣列 output裡。echo system last line system ls retval echo last lin...

php呼叫exec函式

在php中,經常遇到php呼叫外部指令碼程式,如exec,system函式 本環境在windows平台下測試 在php中呼叫perl指令碼,perl檔案內容如下 c xampp perl bin perl usejson useencode my val helloworld n my jsonco...