南京,微风,周五,晴。
今天在这里记录下php的一个功能点:执行外部其它语言程序
感觉很赞吧,是的,php可以执行外部程序,如python语言编写的脚本程序。
先来知晓一下php的几个函数吧:
1. exec()
php标准解释是:执行一个外部程序,支持(PHP 4, PHP 5)。
string exec ( string $command
[, array &$output
[, int &$return_var
]] )
command
要执行的命令。
output
如果提供了 output
参数, 那么会用命令执行的输出填充此数组, 每行输出填充数组中的一个元素。 数组中的数据不包含行尾的空白字符,例如
字符。
请注意,如果数组中已经包含了部分元素,exec() 函数会在数组末尾追加内容。如果你不想在数组末尾进行追加, 请在传入 exec() 函数之前 对数组使用 unset()函数进行重置。
return_var
如果同时提供 output
和 return_var
参数, 命令执行后的返回状态会被写入到此变量。
2. passthru()
php标准解释是:执行外部程序并且显示原始输出,支持(PHP 4, PHP 5)。
void passthru ( string $command
[, int &$return_var
] )
command
要执行的命令。
return_var
如果提供 return_var
参数, Unix 命令的返回状态会被记录到此参数。
举例:随便写几行python代码,保存文件到php可执行目录下,比如新建文件test.py,代码内容:
import os
print os.name
新建文件test.php,代码内容:
<?php
passthru('test.py ');
最后在php环境支持下运行test.php,即可看到python程序的输出:nt,执行成功!其实就是这么简单~
3. system()
php标准解释是:执行外部程序,并且显示输出,支持(PHP 4, PHP 5)。
同 C 版本的 system() 函数一样, 本函数执行 command
参数所指定的命令, 并且输出执行结果。
成功则返回命令输出的最后一行, 失败则返回 false
By the way: 由于这些函数使用场景比较特殊,所以需要拓展一下,有兴趣可以研究下相关php内置函数:
注:你的关注是我分享的最大乐趣
欢迎关注微信公众号,挺有趣的,we_better~