在PHP项目中调用Python编写的程序功能的方式有两种,第一种是调用打包好的exe文件,第二种是直接调用Python的源程序(即.py文件)。

一、调用python打包的exe文件

1、Python代码编写

Python代码中写好图像某种处理的代码,代码中两个输入(输入路径和输出路径)和两个输出(输出的状态编号和输出描述)。其关键代码如下图:

2、PHP文件中的调用

代码解析:exec函数中,第一个参数包含两个部分,用空格隔开,第1个为可执行文件的路径,第2个为输入参数,如需更多输入参数,中间空格后填写即可;第二个参数$out为输出,array类型,里面有两个值,第1个为Python文件中 对应 的 输出状态 0或者1,第2个对应输出描述;第三个参数$res为exec函数执行状态,当等于0,表示执行成功, 0或者1,第2个对应输出描述;第三个参数$res为exec函数执行状态,当等于0,表示执行成功, 当等于1,表示执行失败 。

这种调用方式好处在于PHP项目的环境中不需要安装Python环境,但是调用速度比较慢。如果想要提高处理速度可以考虑第二种。

二、调用python源文件

这种方式需要在环境中安装Python,并清楚Python的解释器的位置(本文的位置在“/usr/bin/python3”),Python解释器还需要根据项目的功能需要安装第三方模块。

1、Python代码编写

在Python代码中写好了图像某种处理的关键代码,包括四个输入,两个输出。img_scan.py的关键代码如下图:

2、PHP文件中的调用

其中相关参数说明与前面类似,调用实例中,Python文件和本地待处理图像,都放在PHP文件旁边,采用相对路径。