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命令执行函数有哪些的详细内容。更多信息请关注PHP中文网其他相关文章!