php执行函数吗_php命令执行函数有哪些

本文详细介绍了PHP中用于执行系统命令的四个函数:system, exec, passthru和shell_exec。它们各自有不同的特点和应用场景,如system函数会打印全部输出并返回最后一行,exec函数仅返回最后行,passthru用于传递二进制数据,而shell_exec则返回所有输出结果。了解这些函数的使用方法对于在PHP中调用系统命令非常关键。
摘要由CSDN通过智能技术生成

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

3e7df42bfe71a020aeb3b7bc227c6dfc.png

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函数的用法同反引号形同,注意是反引号(``)而不是普通单引号(’’)。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值