很多站长朋友们都不太清楚php中exec函数,今天小编就来给大家整理php中exec函数,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 PHP怎么运行EXEC文件? 2、 php中exec函数怎么用 3、 PHP中exec函数和shell_exec函数的区别 4、 php exec() PHP怎么运行EXEC文件?在PHP中调用外部命令,可以用如下三种方法来实现:
1、用PHP提供的专门函数
(1)PHP提供共了3个专门的执行外部命令的函数:system(),exec(),passthru()。
(2)system() 原型:string system (string command [, int return_var])
(3)system()函数很其它语言中的差不多,它执行给定的命令,输出和返回结果。第二个参数是可选的,用来得到命令执行后的状态码。
2、例子:
代码如下:
<?php
system("/usr/local/bin/webalizer/webalizer");
?>
exec()
(1)原型:string exec (string command [, string array [, int return_var]]) exec
(2)()函数与system()类似,也执行给定的命令,但不输出结果,而是返回结果的最后一行。虽然它只返回命令结果的最后一行,但用第二个参数array 可以得到完整的结果,方法是把结果逐行追加到array的结尾处。所以如果array不是空的,在调用之前最好用unset()最它清掉。只有指定了第二 个参数时,才可以用第三个参数,用来取得命令执行的状态码。
php中exec函数怎么用exec函数解析
exec语法: string exec(string command, string [array], int [return_var]);
exec返回值: 字符串
Exec参数说明
Command – 需要执行的命令
Array – 是输出值
return_var –是返回值0或1,如果返回0则执行成功,返回1则执行失败。
exec不成功,调试方案
一个技巧就是使用管道命令, 使用 2>1, 命令就会输出shell执行时的错误到$output变量, 输出该变量即可分析。
如:
exec('convert a.jpg b.jpg', $output, $return_val);
改为:
exec('convert a.jpg b.jpg 2>1', $output, $return_val);
print_r($output);
PHP中exec函数和shell_exec函数的区别这两个函数都是执行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函数,当然,如果命令执行结果只有一行返回信息,那么使用哪个都无所谓。
php exec()php的exec函数用法如下:
exec — 执行一个外部程序
string exec( string $command[, array $output[, int $return_var]])
exec() 执行command 参数所指定的命令。
command:要执行的命令。
output:如果提供了 output 参数,那么会用命令执行的输出填充此数组,每行输出填充数组中的一个元素。数组中的数据不包含行尾的空白字符,例如 \n 字符
请注意,如果数组中已经包含了部分元素,exec()函数会在数组末尾追加内容。
如果不想在数组末尾进行追加,请在传入 exec() 函数之前对数组使用 unset() 函数进行重置。
return_var:如果同时提供output和return_var 参数,命令执行后的返回状态会被写入到此变量。
返回值:
命令执行结果的最后一行内容。
如果需要获取未经处理的全部输出数据,请使用 passthru() 函数。
如果想要获取命令的输出内容,请确保使用 output 参数。
关于php中exec函数的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php中exec函数 phpeach函数的详细内容...