Maison > développement back-end > tutoriel php > php调用外部shell的方法总结

php调用外部shell的方法总结

WBOY
Libérer: 2016-07-25 09:03:33
original
1027 Les gens l'ont consulté
  1. system("/usr/local/bin/webalizer/webalizer");
  2. ?>
复制代码

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

exec() 函数与system()类似,也执行给定的命令,但不输出结果,而是返回结果的最后一行。虽然它只返回命令结果的最后一行,但用第二个参数array可以 得到完整的结果,方法是把结果逐行追加到array的结尾处。所以如果array不是空的,在调用之前最好用unset()最它清掉。只有指定了第二个参 数时,才可以用第三个参数,用来取得命令执行的状态码。

例子:

  1. exec("/bin/ls -l");
  2. exec("/bin/ls -l", $res);
  3. #$res是一个数据,每个元素代表结果的一行
  4. exec("/bin/ls -l", $res, $rc);
  5. #$rc的值是命令/bin/ls -l的状态码。成功的情况下通常是0
  6. ?>
复制代码

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

passthru() 只调用命令,不返回任何结果,但把命令的运行结果原样地直接输出到标准输出设备上。所以passthru()函数经常用来调用象pbmplus(Unix 下的一个处理图片的工具,输出二进制的原始图片的流)这样的程序。同样它也可以得到命令执行的状态码。

例子:

  1. header("Content-type: image/gif");
  2. passthru("./ppmtogif hunte.ppm");
  3. ?>
复制代码


É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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal