Maison > php教程 > php手册 > le corps du texte

php执行外部命令函数:exec()、passthru()、system()、shell

WBOY
Libérer: 2016-06-06 20:00:19
original
1312 Les gens l'ont consulté

PHP提供了4种方法执行系统外部命令:exec()、passthru()、system()、shell_exec(),下面分别介绍: 1、exec 原型:string exec ( string $command [, array $output [, int $return_var ]] ) exec执行command命令,但是不会输出全部结果,而是返回结果的最后

PHP提供了4种方法执行系统外部命令:exec()、passthru()、system()、shell_exec(),下面分别介绍:

1、exec

原型:string exec ( string $command [, array &$output [, int &$return_var ]] )

exec执行command命令,但是不会输出全部结果,而是返回结果的最后一行,如果你想得到全部的结果,可以使用第二个参数,让其输出到一个数组,数组的每一个记录代表了输出的每一行,如果输出结果有10行,则数组就有10条记录。所以如果你需要反复输出调用不同系统外部命令的结果,你最好在输出每一条系统外部命令结果时清空这个数组,以防混乱。第三个参数用来取得命令执行的状态码,通常执行成功都是返回0。举例:

<?php exec('ls /home/xyw/test');
?>
Copier après la connexion
没有输出。
<?php exec('ls /home/xyw/test',$arr);
print_r($arr);
?>
Copier après la connexion
输出:
Array
(
    [0] => list.txt
    [1] => list.txt.ln
    [2] => tcpdump中文手册.doc
    [3] => test1
    [4] => 北邮校徽.jpg
    [5] => 浪潮之巅.pdf
)
Copier après la connexion
2、passthru

原型:void passthru ( string $command [, int &$return_var ] )

与exec的区别:passthru直接将结果输出,不返回结果,不用使用echo查看结果。

<?php passthru("ls test");
?>
Copier après la connexion
结果:
list.txt
list.txt.ln
tcpdump中文手册.doc
test1
北邮校徽.jpg
浪潮之巅.pdf
Copier après la connexion
3、system

原型:string system ( string $command [, int &$return_var ] )

与passthru的基本相同,但是system返回结果并且输出。(查看system和pssthru的返回值可以看出)

4、shell_exec

是反撇号 (`) 操作符的变体.

<?php echo `pwd`;
?>
Copier après la connexion
参考:http://hi.baidu.com/cszhi/item/d71d61f22feefe16ce9f32d1

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Recommandations populaires
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal