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...