Python脚本将图像发送到PHP

2 投票
1 回答
18066 浏览
提问于 2025-04-18 18:49

大家好。有人能帮我吗?我的任务是创建一个Python脚本(客户端),用来把图片发送到PHP(服务器端)。

注意:这个Python脚本是在不同的树莓派上运行,而PHP服务器只通过互联网接收图片。

目前的成就:我已经可以从客户端发送文本数据到服务器了。

问题:我最大的难题是,怎么才能发送图片呢?

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

我的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脚本时,PHP服务器返回了“ok”。这意味着连接成功。

编辑:

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 个回答

9

你可以使用requests模块来实现这个功能。这个模块非常简单易用。

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"]);

撰写回答