php调用外部shell的方法总结

WBOY
Lepaskan: 2016-07-25 09:03:33
asal
1017 orang telah melayarinya
  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. ?>
复制代码


sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan