详解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单线程实现多个定时器示例
Mar 30 Python
Python调用系统底层API播放wav文件的方法
Aug 11 Python
python中文件变化监控示例(watchdog)
Oct 16 Python
tensorflow saver 保存和恢复指定 tensor的实例讲解
Jul 26 Python
numpy给array增加维度np.newaxis的实例
Nov 01 Python
对Python Pexpect 模块的使用说明详解
Feb 14 Python
python交易记录链的实现过程详解
Jul 03 Python
使用Python轻松完成垃圾分类(基于图像识别)
Jul 09 Python
python代码编写计算器小程序
Mar 30 Python
Python pexpect模块及shell脚本except原理解析
Aug 03 Python
Python字节单位转换(将字节转换为K M G T)
Mar 02 Python
pandas数值排序的实现实例
Jul 25 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
PHP5.2下chunk_split()函数整数溢出漏洞 分析
2007/06/06 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十四)
2014/06/26 PHP
php查看网页源代码的方法
2015/03/13 PHP
PHP中addslashes()和stripslashes()实现字符串转义和还原用法实例
2016/01/07 PHP
JSON两种结构之对象和数组的理解
2016/07/19 PHP
Dom在ajax技术中的作用说明
2010/10/25 Javascript
Jquery 模拟用户点击超链接或者按钮的方法
2013/10/25 Javascript
javascript中typeof的使用示例
2013/12/19 Javascript
JavaScript获得当前网页来源页面(即上一页)的方法
2015/04/03 Javascript
JSON与XML优缺点对比分析
2015/07/17 Javascript
如何消除inline-block属性带来的标签间间隙
2016/03/31 Javascript
Bootstrap CSS组件之按钮下拉菜单
2016/12/17 Javascript
vue2.0+vue-dplayer实现hls播放的示例
2018/03/02 Javascript
Angular中sweetalert弹框的基本使用教程
2018/07/22 Javascript
JS实现中英文混合文字溢出友好截取功能
2018/08/06 Javascript
Vuex 使用及简单实例(计数器)
2018/08/29 Javascript
BootStrap表单验证中的非Submit类型按钮点击时触发验证的坑
2019/09/05 Javascript
理解Proxy及使用Proxy实现vue数据双向绑定操作
2020/07/18 Javascript
three.js欧拉角和四元数的使用方法
2020/07/26 Javascript
[46:47]2014 DOTA2国际邀请赛中国区预选赛 DT VS HGT
2014/05/22 DOTA
python 性能优化方法小结
2017/03/31 Python
python中子类调用父类函数的方法示例
2017/08/18 Python
Python-ElasticSearch搜索查询的讲解
2019/02/25 Python
Python简直是万能的,这5大主要用途你一定要知道!(推荐)
2019/04/03 Python
详解Python字符串切片
2019/05/20 Python
美国最大的香水出口:FragranceX.com
2017/11/04 全球购物
美国精油公司:Plant Therapy
2019/05/17 全球购物
全球性的女装店:storets
2019/06/12 全球购物
VICHY薇姿俄罗斯官方网上商店:法国护肤品牌,火山温泉水
2019/11/22 全球购物
德国亚洲食品网上商店:asiafoodland.de
2019/12/28 全球购物
测控技术与仪器个人求职信范文
2013/12/30 职场文书
18岁生日感言
2014/01/12 职场文书
爱情保证书范文
2014/02/01 职场文书
医院岗前培训心得体会
2016/01/08 职场文书
如何利用python和DOS获取wifi密码
2021/03/31 Python
Python时间操作之pytz模块使用详解
2022/06/14 Python