当前位置: 首页 > 编程笔记 >

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

水飞掣
2023-03-14
本文向大家介绍python如何调用php文件中的函数详解,包括了python如何调用php文件中的函数详解的使用技巧和注意事项,需要的朋友参考一下

前言

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文件: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函数内容请搜索小牛知识库以前的文章或继续浏览下面的相关文章希望大家以后多多支持小牛知识库!

 类似资料:
  • 我一直在学习一些关于如何创建会话对象的课程,效果很好,如果我把完整的代码放到一个PHP文件中,一切都很好! 我想做的是将其放在另一个模块(PHP文件)中,只需使用一行(或等效行)即可,例如

  • 问题内容: 当在html页面中单击某个链接时,是否可以调用python函数? 谢谢 问题答案: 您将需要使用Web框架将请求路由到Python,因为您不能仅使用HTML来做到这一点。Flask是一个简单的框架: server.py : templates / template.html : 使用运行它,然后导航到http:// localhost:5000 / 。开发服务器不安全,因此要部署您的应

  • 问题内容: 设置:我需要在程序中使用的每个功能都有一个文件。 在此程序中,我需要从外部文件调用该函数。 我试过了: 但是我得到了错误: ImportError:没有名为“ file.py”的模块;文件不是包 我该如何解决这个问题? 问题答案: 导入时无需添加任何内容。只需编写,然后使用调用函数。之所以可能不起作用,是因为它是Python的核心模块之一,所以我建议你更改文件名。 请注意,如果你尝试将

  • 问题内容: 如何从PHP调用JavaScript函数? 以下代码来自 xyz.html (单击按钮时),它在外部 xyz.js中 调用a 。这将调用wait.php。 和 wait.php 从那里以同样的方式从另一个PHP文件调用代码。 该否则工作正常,但它不会被调用我想要的方式。 问题答案: 就PHP而言(或者实际上,通常是一个Web服务器),HTML页面只不过是一个大字符串而已。 您可以使用P

  • 问题内容: 我熟悉如何使ajax转到php页面并执行一系列操作,然后返回json数据。但是,可以调用驻留在给定页面中的特定函数吗? 基本上我想要的是减少项目中的文件数。因此,我可以将很多常用功能放在一页中,然后立即调用我想要的任何功能。 问题答案: 对于ajax请求 1.在您的网页中包含Jquery库。例如: 2.点击按钮调用功能 3.点击按钮,调用JavaScript创建函数。 在服务器端的te

  • 我是拉雷维尔的新手,正在努力找到自己的路。 我已经创建了一个php文件,它有几个函数一个生成一个随机数,一个显示日期等等。。。 我有一个查看页面,点击一个单选按钮,我会生成一个随机数,所以我的问题是在应用程序中包含我的php文件,以及如何从查看页面调用特定函数,以便只执行文件的该部分。 我的代码在这里。。。 看法刀身php 我的PHP页面到现在为止,我已经包含了应用程序文件夹内的PHP页面,并将其

  • 我正在Magento2中创建自定义模块。我想在phtml文件中调用块函数。但这并不奏效。请帮帮我. 这是我在adminhtml文件夹文件中的块。 view/adminHTML/layout中的topic_order_view.xml文件是 下面是我的控制器,位于controller/adminHTML/order/view.php中-- view/adminHTML/templates/order

  • 这里有一个问题,我在React.js应用程序中有一个FormControl组件,我在其中呈现了几种不同类型的其他组件。例如,在下面的代码中,您可以看到我呈现了一个CheckBoxWithLabel。你会注意到我传递了一个函数 因此,在CheckBoxWithLabel组件(代码未显示)中,我可以使用onChange事件(react中复选框的内置事件)调用它 因此,结果是,当单击复选框时,会调用父组