python如何调用php文件中的函数详解


Posted in Python onDecember 29, 2020

前言

python调用php代码实现思路:php文件可通过在terminal中使用php命令行进行调用,因此可使用python开启子进程执行命令行代码。函数所需的参数可通过命令行传递。

测试环境

1、操作系统:macos10.13.2

2、php版本:PHP 7.1.7(mac自带)

3、python版本:python3.6.0

4、python库:subprocess

调用php函数

php命令行调用php文件中的函数

php文件:test_hello.php

<?php


function hello_world($s1)
{
	$str1 = $s1;
	echo $str1;
	echo "\n";
}

function hello_world2($s1, $s2)
{
	$str1 = $s1;
	$str2 = $s2;
	echo $s1;
	echo "**********";
	echo $s2;
	echo "\n";
}

// 获取参数,索引为0为调用的文件路径,索引为1为调用的函数,索引为2为函数传入参数$s1,索引为3为函数参数$s2

var_dump($argv);
// exit;

// 调用函数
$func_name = $argv[1];


if ($func_name == "hello_world")
{
	// 参数1
	$param1 = $argv[2];
	hello_world($param1);
}
elseif ($func_name == "hello_world2")
{
	// 参数1
	$param1 = $argv[2];
	// 参数2
	$param2 = $argv[3];
 hello_world2($param1, $param2);
}
else
{
 echo "the function $func_name is not exist !";
}

?>

terminal执行php命令

# 字符串中包含空格、逗号、反斜杠,需要使用""来确定为1个参数
php -f test_hello.php hello_world "My name is John\\, age is 20."
php -f test_hello.php hello_world2 "My name is John\\, age is 20." "My hometown is BaoDing."
php -f test_hello.php hello_world3 "My name is John\\, age is 20."

执行结果

python如何调用php文件中的函数详解

python子进程执行php命令行

python文件:test.py,将test_hello.php与test.py放在同目录下运行

import subprocess


class Test(object):
 def run(self, cmd):
 proc = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE) # 开启子进程
 res = proc.stdout.read()
 if res:
  res = res.decode()
 return res


cmd1 = 'php -f test_hello.php hello_world "My name is John\\, age is 20."'
cmd2 = 'php -f test_hello.php hello_world2 "My name is John\\, age is 20." "My hometown is BaoDing."'
cmd3 = 'php -f test_hello.php hello_world3 "My name is John\\, age is 20."'
obj = Test()
for i in [cmd1, cmd2, cmd3]:
 res = obj.run(cmd1)
 print(res)
 print("*" * 10)

python如何调用php文件中的函数详解

到此这篇关于python如何调用php文件中函数的文章就介绍到这了,更多相关python调用php函数内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python实现超简单端口转发的方法
Mar 13 Python
在Python中使用SimpleParse模块进行解析的教程
Apr 11 Python
利用python将pdf输出为txt的实例讲解
Apr 23 Python
Python实战购物车项目的实现参考
Feb 20 Python
深入了解Python枚举类型的相关知识
Jul 09 Python
Django框架视图函数设计示例
Jul 29 Python
使用python代码进行身份证号校验的实现示例
Nov 21 Python
pytorch下大型数据集(大型图片)的导入方式
Jan 08 Python
python 遗传算法求函数极值的实现代码
Feb 11 Python
Python pip使用超时问题解决方案
Aug 03 Python
Python列表的深复制和浅复制示例详解
Feb 12 Python
Python如何telnet到网络设备
Feb 18 Python
详解Open Folder as PyCharm Project怎么添加的方法
Dec 29 #Python
pycharm如何设置官方中文(如何汉化)
Dec 29 #Python
详解Pycharm第三方库的安装及使用方法
Dec 29 #Python
Django2.1.7 查询数据返回json格式的实现
Dec 29 #Python
Python 获取异常(Exception)信息的几种方法
Dec 29 #Python
python 将html转换为pdf的几种方法
Dec 29 #Python
python实现ping命令小程序
Dec 28 #Python
You might like
多php服务器实现多session并发运行
2006/10/09 PHP
判断是否为指定长度内字符串的php函数
2010/02/16 PHP
PHP正则表达式替换站点关键字链接后空白的解决方法
2014/09/16 PHP
typecho插件编写教程(三):保存配置
2015/05/28 PHP
PHP MPDF中文乱码的解决方式
2015/12/08 PHP
JavaScript支持的最大递归调用次数分析
2014/06/24 Javascript
多个$(document).ready()的执行顺序实例分析
2014/07/26 Javascript
JavaScript模版引擎的基本实现方法浅析
2016/02/15 Javascript
Node.js开启Https的实践详解
2016/10/25 Javascript
微信小程序组件 contact-button(客服会话按钮)详解及实例代码
2017/01/10 Javascript
详解jquery validate实现表单验证 (正则表达式)
2017/01/18 Javascript
详解webpack-dev-server 设置反向代理解决跨域问题
2018/04/18 Javascript
Vant的安装和配合引入Vue.js项目里的方法步骤
2018/12/05 Javascript
详解NodeJS Https HSM双向认证实现
2019/03/12 NodeJs
JS/jQuery实现超简单的Table表格添加,删除行功能示例
2019/07/31 jQuery
json解析大全 双引号、键值对不在一起的情况
2019/12/06 Javascript
jquery实现垂直手风琴导航栏
2020/02/18 jQuery
Python中字典(dict)和列表(list)的排序方法实例
2014/06/16 Python
在Python中操作时间之strptime()方法的使用
2020/12/30 Python
python中解析json格式文件的方法示例
2017/05/03 Python
Python列表list内建函数用法实例分析【insert、remove、index、pop等】
2017/07/24 Python
基于python框架Scrapy爬取自己的博客内容过程详解
2019/08/05 Python
python实现ssh及sftp功能(实例代码)
2020/03/16 Python
通过实例解析Python文件操作实现步骤
2020/09/21 Python
Pycharm快捷键配置详细整理
2020/10/13 Python
HTML5使用ApplicationCache接口实现离线缓存技术解决离线难题
2012/12/13 HTML / CSS
S’well Bottle保温杯官网:绝缘不锈钢水瓶
2018/05/09 全球购物
屈臣氏官方旗舰店:亚洲享负盛名的保健及美妆零售商
2019/03/15 全球购物
党员四风问题对照检查材料思想汇报
2014/09/16 职场文书
党委书记个人检查对照材料思想汇报
2014/10/11 职场文书
2014年办公室工作总结范文
2014/11/12 职场文书
2015年保安个人工作总结
2015/04/02 职场文书
圣诞晚会主持词开场白
2015/05/28 职场文书
三十年同学聚会感言
2015/07/30 职场文书
公司晚会主持词
2019/04/17 职场文书
CSS元素定位之通过元素的标签或者元素的id、class属性定位详解
2022/09/23 HTML / CSS