`

python 调用 php 实例

 
阅读更多
原文地址:http://hi.baidu.com/ji_haiyang/item/482d8e52cda53a11db163517


python 调用 php 实例
最近在项目中使用到了,用python 调用PHP的方法,网上的资料很少,但PHP调用PYTHON的很多,网上找了好些,都不是想要的。
自己查找了一些资料,自己写了一个,主要是使用到了PYTON的subprocess的类,上图

源码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# -*- coding: utf-8 -*-
#!/usr/bin/python
'''
Created on 2013-8-21

@author: Jihaiyang
'''
import subprocess
#此call 方法直接打印结果
#out = subprocess.call("php -f /var/www/test.php", shell=True)


#python 执行PHP文件 并且打印结果 shell=True 代表使用shell命令
#调用php文件,传入参数,
method = 'test'
args = '你的';
args1 = '太阳';
proc = subprocess.Popen(["php -f /var/www/test.php "+method+" "+args+" "+args1], shell=True,
stdout=subprocess.PIPE)
script_response = proc.stdout.read()
print(script_response)
在这里学到,在python 里传参,参数都是以空格分割
通过PHP命令运行一个PHP文件和通过URL运行一个文件完全不一回事,可以这么说,两个无任何关系
1
["php -f /var/www/test.php "+method+" "+args+" "+args1]
对PHP进行传参使用空格分割,argv[1],argv[2], ......

在PHP里获取通过命令执行PHP的文件的参数,用PHP内置的变量$argv, $argv变量是一个数组,里面包含了传入参数的信息
PHP获取参数方法有,针对函数get_func_args(), 针对URL $_GET,$_POST, $_REQUEST 等方式,而获取通过命令执行的参数为,$argv, 直接就是$argv

上图PHP源码



PHP源码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
#php  php -f  /var/www/test.php 通过使命获取参数方式是
#直接就能使用 $argv变量,这个变量是个数组,我记得javascript中也有这个方法
print_r($argv);
$file_path = $argv[0];
$method = $argv[1];
$args1 = $argv[2];
$args2 = $argv[3];

function test($file_path, $args1, $args2){
    echo "你文件的路径是:$file_path\n";
    echo "你现在使用的方法是:".__function__."\n";
    echo "你现在使用的第一个参数是:$args1\n";
    echo "你现在使用的第二个参数是:$args2\n";
    
    
    echo "python 调用php+";
}
if (!empty($method)){
$method($file_path,$args1, $args2);
}
?>

运行结果如下:上图
分享到:
评论

相关推荐

    ice同步调用和异步调用实例代码

    Ice 是一种针对客户端和服务器进行通信的面向对象的中间件平台。Ice 为构建面向对象的客户-服务器应用提供了工具、API 和库支持。客户和服务器通信双方可以用不同的编程...本代码为ice同步调用和异步调用实例代码。

    python调用外部程序的实操步骤

    在python的使用中,有时也不得不调用一下外部程序,那么如何调用外部程序: 首先,我们要启动python软件,使用的是python2.7的版本,具体如图: 在外部调用中主要要用到一个os标准模块,下面介绍一下关于os模块的...

    python调用百度语音REST API

    本文实例为大家分享了python调用百度语音REST API的具体代码,供大家参考,具体内容如下 (百度的rest接口的部分网址发生了一定的变化,相关代码已更新) 百度通过 REST API 的方式给开发者提供一个通用的 HTTP ...

    浅谈php调用python文件

    关于PHP调用Python数据传输问题 这是以前大学时做项目出现的问题,现在把它挪上来,希望给遇到问题的未来大佬给出一些小的思路,请大佬们不要大意的帮我改正,如果出现问题或者有更好的解决方法,希望大家可以给出,...

    解决Python3 被PHP程序调用执行返回乱码的问题

    因为有一部分程序是 Python 写的,所以需要 PHP 调用 Python 程序返回数据,使用 exec 返回的是乱码 $data = Geek程序员 $get = exec&#40;/usr/bin/python3 main.py $data&#41;; 所以载调用 Python 程序之前需要...

    python opencv调用笔记本摄像头

    通过查看书籍,自己总结了一下,怎样用python代码实现调用笔记本摄像头的功能。 这主要是通过opencv中cv2模块来实现这个功能。其中是调用cv2中的函数,比如:imread()函数,imshow()函数等等…. 以下是具体的...

    Python引用(import)文件夹下的py文件的方法

    Python的import包含文件功能就跟PHP的include类似,但更确切的说应该更像是PHP中的require,因为Python里的import只要目标不存在就报错程序无法往下执行。要包含目录里的文件,PHP中只需要给对路径就OK。Python中则...

    (完整word版)python3基础教程.doc

    可扩展:如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法 ,你可以使用C或C++完成那部分程序,然后从你的Python程序中调用。 8.数据库:Python提供所有主要的商业数据库的接口。 9。GUI编程:...

    Python使用微信SDK实现的微信支付功能示例

    本文实例讲述了Python使用微信SDK实现的微信支付功能。分享给大家供大家参考,具体如下: 最近一段时间一直在搞微信平台开发,v3.37版本微信支付接口变化贼大,所以就看着php的demo移植为Python版,为了保持一致,...

    Shell、Perl、Python、PHP访问 MySQL 数据库代码实例

    既然在 shell 里可以直接用 mysql 命令操作数据库,那么在 shell script 里也应该可以通过调用 mysql 来操作数据库。比如用下面的 bash shell 脚本查询数据库: Bash 代码如下: #!/bin/bash mysql -uvpsee -p...

    Python实现可自定义大小的截屏功能

    本文实例讲述了Python实现可自定义大小的截屏功能。分享给大家供大家参考,具体如下: 蝈蝈这两天正忙着收拾家当去公司报道,结果做PHP的发小蛐蛐找到了他,说是想要一个可以截图工具。 大致需要做出这样的效果。 ...

    Python实现115网盘自动下载的方法

    本文实例讲述了Python实现115网盘自动下载的方法。分享给大家供大家参考。具体实现方法如下: 实例中的1.txt,是网页http://bbs.pediy.com/showthread.php?t=144788另存为1.txt 通过每3秒钟复制一个下载链接到粘贴板...

    使用python删除nginx缓存文件示例(python文件操作)

    调用时输入参数如: www.jb51.net/表示删除www.jb51.net首页的缓存, www.jb51.net/test.php就表示删除/test.php的缓存复制代码 代码如下:#coding=utf8import sys,osimport hashlibif len(sys.argv)&lt;2: print(...

    PHP使用内置函数生成图片的方法详解

    主要介绍了PHP使用内置函数生成图片的方法,结合实例形式详细分析了php生成图片的步骤与相关实现技巧,需要的朋友可以参考下

    Python实现将doc转化pdf格式文档的方法

    主要介绍了Python实现将doc转化pdf格式文档的方法,结合实例形式分析了Python实现doc格式文件读取及转换pdf格式文件的操作技巧,以及php调用py文件的具体实现方法,需要的朋友可以参考下

    Django调用支付宝接口代码实例详解

    -Java,php,C#的demo,没有python的demo -git有人封装了 -需要安装模块:pip3 install -应用私钥—自己保存,一定不能丢 -应用公钥—给别人用 -支付宝公钥—支付宝用的 -生成公钥私钥:...

    polyglot-server:HTTP服务器运行任意代码(Python,PHP,Ruby)

    服务器( )是一个快速实例。 发出请求 通过POST向/python或/ruby发出请求。 请求正文必须经过简单测试。 结果也是纯文本,即字符串化的JSON。 返回的结果是所打印的内容,每行分别在数组中生成一个元素。 例如...

    PHP基础教程 是一个比较有价值的PHP新手教程!

    // 或者像Python一样 if (表达式一) : . . . . . . elseif (表达式二) : . . . else : . . . endif ; Loops. while, do..while, for while (表达式) { . . . } do { . . . } while (表达式); for (表达式一; ...

    Python使用pymysql小技巧

    查阅pymysql源代码后,其实获取查询结果源代码也是非常简单的,直接调用cursor.description即可。 譬如: db = pymysql.connect(...) cur = db.cursor() cur.execute(sql) print(cur.description) result = cur....

    MySQL 5.1中文手冊

    4.2. 调用MySQL程序 4.3. 指定程序选项 4.3.1. 在命令行上使用选项 4.3.2. 使用选项文件 4.3.3. 用环境变量指定选项 4.3.4. 使用选项设置程序变量 5. 数据库管理 5.1. MySQL服务器和服务器启动脚本 5.1.1. 服务器端...

Global site tag (gtag.js) - Google Analytics