详解python上传文件和字符到PHP服务器


Posted in Python onNovember 24, 2017

很多朋友在留言区询问关于python上传文件和字符到服务器的问题,现编针对这个给大家整理了一个解决办法。

上传简单的字符串

def send_str_server(self):
payload = {'key1': 'value1', 'key2': 'value2'}
r = requests.post("http://httpbin.org/post", 
data=payload)

介绍:payload 为键值对形式的数据,在服务器的数据的显示为

key1=value1&key2=value2

http://httpbin.org/post 为上传的服务器地址

上传文件

def send_image_server(self):
data = {"k1" : "v1"} 
files = {"img" : open("test.png", "rb")} 
r = requests.post("http://httpbin.org/post", data,
files=files)

介绍:data 为键值对形式的数据,为post请求携带的数据

files 中的img表示的是php服务器中对图片的过滤字段,open中第一个参数为图片的地址,第二个参数表示二进制文件写的权限,http://httpbin.org/post是服务器的地址

python post方式 上传文件到php服务器

看了网上很多代码,都没有说如何具体的使用poster,试了两天,终于成功了

通过python调用php实现了文件上传

与大家分享一下:

首先要通过pip安装poster(easy_install 也是一样的):

pip install poster

image.py

#!usr/bin/python
# image.py
# -*- coding=utf-8 -*- 
from poster.encode import multipart_encode
import urllib2
import sys
from urllib2 import Request, urlopen, URLError, HTTPError
from poster.encode import multipart_encode
from poster.streaminghttp import register_openers

register_openers()
f=open(“C:/Users/User/Pictures/Saved Pictures/test1.jpg”, "rb")
#f=open(sys.argv[1], "rb") 使用sys.argv[1]可调用参数 例如 运行 python image.py C:/Users/User/Pictures/Saved Pictures/test1.jpg 
#可将test1.jpg作为参数传入image.py
#"C:/Users/User/Pictures/Saved Pictures/vedio5.jpg"
# headers 包含必须的 Content-Type 和 Content-Length
# datagen 是一个生成器对象,返回编码过后的参数
datagen, headers = multipart_encode({"myFile": f})
# 创建请求对象
request = urllib2.Request("http://localhost/upload_image/upload_image.php", datagen, headers)
try:
response = urllib2.urlopen(request)
print response.read()

except URLError,e:
print e.reason
print e.code
-----

upload_image.php

----
<?php
echo $_FILES['myFile']['name'];
if (isset($_FILES['myFile'])) 
{
$names = $_FILES["myFile"]['name'];
$arr = explode('.', $names);
$name = $arr[0]; //图片名称
$date = date('Y-m-d H:i:s'); //上传日期
$fp= fopen($_FILES['myFile']['tmp_name'], 'rb');
$type = $_FILES['myFile']['type'];
$filename = $_FILES['myFile']['name'];
$tmpname = $_FILES['myFile']['tmp_name'];
//将文件传到服务器根目录的 upload 文件夹中
if(move_uploaded_file($tmpname,$_SERVER['DOCUMENT_ROOT']."/upload/".$filename)){
echo "upload image succeed";
}else{
echo "upload image failed";
}
}
?>

以上就是小编亲测的关于python上传和文件和字符到PHP服务器的代码实现的两种方式,如果大家还有更好的内容可以在下方留言给我们,一起交流一下。

Python 相关文章推荐
浅谈Python程序与C++程序的联合使用
Apr 07 Python
python使用matplotlib绘图时图例显示问题的解决
Apr 27 Python
python读取文件名称生成list的方法
Apr 27 Python
python 文件转成16进制数组的实例
Jul 09 Python
浅谈python实现Google翻译PDF,解决换行的问题
Nov 28 Python
对python中的argv和argc使用详解
Dec 15 Python
Python计算一个点到所有点的欧式距离实现方法
Jul 04 Python
python实现复制文件到指定目录
Oct 16 Python
利用Python的sympy包求解一元三次方程示例
Nov 22 Python
Pycharm最常用的快捷键及使用技巧
Mar 05 Python
python爬虫开发之Beautiful Soup模块从安装到详细使用方法与实例
Mar 09 Python
使用qt quick-ListView仿微信好友列表和聊天列表的示例代码
Jun 13 Python
Python实现矩阵转置的方法分析
Nov 24 #Python
利用Django内置的认证视图实现用户密码重置功能详解
Nov 24 #Python
利用python3随机生成中文字符的实现方法
Nov 24 #Python
Python内置函数 next的具体使用方法
Nov 24 #Python
python中WSGI是什么,Python应用WSGI详解
Nov 24 #Python
python中print()函数的“,”与java中System.out.print()函数中的“+”功能详解
Nov 24 #Python
Python内置函数——__import__ 的使用方法
Nov 24 #Python
You might like
打造超酷的PHP数据饼图效果实现代码
2011/11/23 PHP
PHP笔记之:日期函数的使用介绍
2013/04/24 PHP
PHP针对多用户实现更换头像功能
2016/09/04 PHP
thinkphp5.1框架模板赋值与变量输出示例
2020/05/25 PHP
js 单引号 传递方法
2009/06/22 Javascript
javascript中的绑定与解绑函数应用示例
2013/06/24 Javascript
jQuery获取选中内容及设置元素属性的方法
2014/07/09 Javascript
js实现用户注册协议倒计时的方法
2015/01/21 Javascript
理解Javascript的call、apply
2015/12/16 Javascript
javascript从作用域链谈闭包
2020/07/29 Javascript
通过BootStrap实现轮播图的实际应用
2016/09/26 Javascript
实现两个文本框同时输入的实例
2017/09/25 Javascript
vue里如何主动销毁keep-alive缓存的组件
2019/03/21 Javascript
Vue.js实现tab切换效果
2019/07/24 Javascript
JavaScript实现单图片上传并预览功能
2019/09/30 Javascript
jquery ajax 请求小技巧实例分析
2019/11/11 jQuery
jquery实现进度条状态展示
2020/03/26 jQuery
vue+animation实现翻页动画
2020/06/29 Javascript
详解微信小程序「渲染层网络层错误」的解决方法
2021/01/06 Javascript
[08:17]Ti9 现场cosplay
2019/09/10 DOTA
python3访问sina首页中文的处理方法
2014/02/24 Python
用Python实现换行符转换的脚本的教程
2015/04/16 Python
钉钉群自定义机器人消息Python封装的实例
2019/02/20 Python
pytorch使用Variable实现线性回归
2019/05/21 Python
使用python实现unix2dos和dos2unix命令的例子
2019/08/13 Python
Python3 chardet模块查看编码格式的例子
2019/08/14 Python
Python使用urlretrieve实现直接远程下载图片的示例代码
2020/08/17 Python
Python如何使用ElementTree解析xml
2020/10/12 Python
个人遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
党的群众路线教育实践活动自我剖析材料
2014/10/08 职场文书
终止劳动合同证明书样本
2014/11/19 职场文书
起诉离婚协议书样本
2014/11/25 职场文书
2014年前台接待工作总结
2014/12/05 职场文书
2014年体育教学工作总结
2014/12/09 职场文书
民主生活会主持词
2015/07/01 职场文书
PL350与SW11的比较
2021/04/22 无线电