当前位置:Gxlcms > PHP教程 > php命令执行函数有哪些

php命令执行函数有哪些

时间:2021-07-01 10:21:17 帮助过:2人阅读

PHP执行系统命令的有几个常用的函数,如有:system函数、exec函数、popen函数,passthru,shell_exec函数他们都可以执行系统命令

Exec函数

Exec函数的语法为:(推荐学习:PHP编程从入门到精通)

exec ( string $command [, array &$output [, int &$return_var ]] )
=
exec('ping 127.0.0.1',$output,$return_var)

这个函数的作用是执行 command 参数所指定的命令。命令执行后的值为输出值的最后一行,函数本身不会打印任何内容。

String、array和int是参数的数据类型,分别是字符串、数组和整型。

中括号的意思是如果前一个参数存在,那么中括号中的参数可写可不写。例如:如果存在$command参数,则$output参数可有可无;如果不存在$output参数,则$return_var也不能出现。

Command:要执行的命令。

Output:如果提供了output 参数, 那么会用命令执行的输出填充此数组, 每行输出填充数组中的一个元素。数组中的数据不包含行尾的空白字符,例如 \n 字符。 请注意,如果数组中已经包含了部分元素,exec() 函数会在数组末尾追加内容。如果你不想在数组末尾进行追加, 请在传入 exec() 函数之前 对数组使用 unset() 函数进行重置。

return_var:如果同时提供output 和return_var 参数, 命令执行后的返回状态会被写入到此变量。如果命令成功执行,则状态码为0;如果命令执行失败,则状态码为1。

System函数

System函数的语法是:

system ( string $command [, int &$return_var ] )
=
system('ping -c 127.0.0.1',$return_var)

同 C 版本的 system() 函数一样, 本函数执行 command 参数所指定的命令, 并且输出执行结果。命令执行后的返回值为输出值的最后一行,函数本身也会打印全部的输出值。

String和int是参数的数据类型,分别是字符串和整型。

如果 PHP 运行在服务器模块中, system() 函数还会尝试在每行输出完毕之后, 自动刷新 web 服务器的输出缓存。

Command:要执行的命令。

return_var:如果提供 return_var 参数, 则外部命令执行后的返回状态将会被设置到此变量中。如果命令成功执行,则状态码为0;如果命令执行失败,则状态码为1。

Passthru函数

Passthru函数的语法为:

passthru ( string $command [, int &$return_var ] )
=
passthru('ping 12.0.0.1',$return_var)

String和int是参数的数据类型,分别是字符串和整型。函数本身会打印全部的输出值,但该函数没有返回值。

同 exec() 函数类似, passthru() 函数也是用来执行外部命令command的。 当所执行的 系统命令输出二进制数据, 并且需要直接传送到浏览器的时候, 需要用此函数来替代 exec() 或 system() 函数。

Command:要执行的命令。

return_var:如果提供 return_var 参数, Unix 命令的返回状态会被记录到此参数。

Shell_exec函数

Shell_exec函数的语法为:

$output=shell_exec ( string $cmd )
=
$output=shell_exec(`ping 127.0.0.1`)
=
$output=shell_exec("ping 127.0.0.1")

cmd是要执行的命令。

String是参数的数据类型,也就是字符串。函数会在命令执行完成后将全部的输出值作为字符串输入返回值,本身并不打印任何信息。

Shell_exec函数的用法同反引号形同,注意是反引号(``)而不是普通单引号(’’)。

以上就是php命令执行函数有哪些的详细内容,更多请关注Gxl网其它相关文章!

人气教程排行