PHP与Python与其它脚本语言

南京,微风,周五,晴。

今天在这里记录下php的一个功能点:执行外部其它语言程序

感觉很赞吧,是的,php可以执行外部程序,如python语言编写的脚本程序。

先来知晓一下php的几个函数吧:

1. exec()

php标准解释是:执行一个外部程序,支持(PHP 4, PHP 5)。

string exec ( string $command [, array &$output [, int &$return_var ]] )

command

要执行的命令。

output

如果提供了 output 参数, 那么会用命令执行的输出填充此数组, 每行输出填充数组中的一个元素。 数组中的数据不包含行尾的空白字符,例如 \n字符。

请注意,如果数组中已经包含了部分元素,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内置函数:

escapeshellcmd()

escapeshellarg() 

shell_exec() 

popen()

注:你的关注是我分享的最大乐趣

欢迎关注微信公众号,挺有趣的,we_better~

posted @ 2014-11-21 13:51  精诚所至金石溶灰  阅读(1365)  评论(0)    收藏  举报