程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP中exec函數和shell_exec函數的區別

PHP中exec函數和shell_exec函數的區別

編輯:PHP綜合

這兩個函數都是執行Linux命令函數,不同的是獲取返回結果不一樣,exec只能獲取最後一行數據,shell_execu則可以獲取全部數據。

假如腳本路徑下有如下文件:
復制代碼 代碼如下:
-bash-4.1# ll
總用量 12
-rw-rw-r--. 1 www web 133  7月 16 15:00 a.php
-rw-r--r--. 1 lee web  59  2月 29 17:05 b.php
-rw-r--r--. 1 lee web  81  3月  8 17:00 c.php

exec例子
復制代碼 代碼如下:
<?php
/**
 * exec與shell_exec的區別
 * 瓊台博客
 */
$data = exec('/bin/ls -l');
echo '<pre>';
print_r($data);
echo '</pre>';
?>

執行結果
復制代碼 代碼如下:
-rw-r--r--. 1 lee web  81 Mar  8 17:00 c.php

shell_exec例子
復制代碼 代碼如下:
<?php
/**
 * exec與shell_exec的區別
 * 瓊台博客
 */
$data = shell_exec('/bin/ls -l');
echo '<pre>';
print_r($data);
echo '</pre>';
?>

執行結果
復制代碼 代碼如下:
total 12
-rw-rw-r--. 1 www web 139 Jul 16  2012 a.php
-rw-r--r--. 1 lee web  59 Feb 29 17:05 b.php
-rw-r--r--. 1 lee web  81 Mar  8 17:00 c.php

所以平時使用exec函數的童鞋注意了,如果你需要獲取全部返回信息,就應該使用shell_exec函數,當然,如果命令執行結果只有一行返回信息,那麼使用哪個都無所謂。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved