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);
}
?>

运行结果如下:上图
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值