Python脚本将图像发送给PHP

时间:2014-08-28 08:24:09

标签: php python file-upload webserver http-post

美好的一天。有人可以帮助我。我的任务是创建一个将图像发送到php(服务器端)的python脚本(客户端)。

注意:python脚本在不同的raspberry pi中运行,php服务器只通过Internet接收图像。

成就:我现在可以从客户端向服务器发送文本数据。

问题:我的大问题是如何发送图像?

非常感谢任何评论和建议。谢谢。

我的Python脚本:

import urllib2
from urllib import urlencode 

# 192.168.5.149 is the ip address of server
url = "http://192.168.5.149/server/server.php"
data = {'test':'OK'}

encoded_data = urlencode(data)

website = urllib2.urlopen(url, encoded_data)
print website.read()

我的PHP脚本:

<?php
echo $_POST['test'];
?>

当我运行python脚本时,我得到了“ok”作为PHP服务器的发送。这意味着,连接成功。

EDITED

Python客户端:

import requests
url = 'http://messi-fan.org/post'
files = {'file': open('image.png', 'rb')}
r = requests.post(url, files=files)

PHP服务器:

<?php
$file_path = "C:\\xampp\htdocs\server\php\\";

$file_path = $file_path.basename( $_FILES['file']['name']);
?>

1 个答案:

答案 0 :(得分:6)

您可以使用请求模块。它很容易使用

import requests
url = 'http://messi-fan.org/post'
files = {'file': open('image.png', 'rb')}
r = requests.post(url, files=files)

和PHP

<?php
print_r($_FILES);
move_uploaded_file($_FILES["file"]["tmp_name"],$_FILES["file"]["name"]);