详解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 django 访问静态文件出现404或500错误
Jan 20 Python
Python调用C# Com dll组件实战教程
Oct 12 Python
python如何使用正则表达式的前向、后向搜索及前向搜索否定模式详解
Nov 08 Python
Anaconda下配置python+opencv+contribx的实例讲解
Aug 06 Python
Django之PopUp的具体实现方法
Aug 31 Python
浅析PEP570新语法: 只接受位置参数
Oct 15 Python
pygame实现非图片按钮效果
Oct 29 Python
flask的orm框架SQLAlchemy查询实现解析
Dec 12 Python
Python+opencv+pyaudio实现带声音屏幕录制
Dec 23 Python
Python 列表中的修改、添加和删除元素的实现
Jun 11 Python
Python如何使用input函数获取输入
Aug 06 Python
详解python网络进程
Jun 15 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
生成缩略图
2006/10/09 PHP
关于php mvc开发模式的感想
2011/06/28 PHP
PHP判断上传文件类型的解决办法
2015/10/20 PHP
基于Swoole实现PHP与websocket聊天室
2016/08/03 PHP
PHP 中魔术常量的实例详解
2017/10/26 PHP
DD_belatedPNG,IE6下PNG透明解决方案(国外)
2010/12/06 Javascript
jQuery圆形统计图开发实例
2015/01/04 Javascript
JavaScript使表单中的内容显示在屏幕上的方法
2015/06/29 Javascript
Javascript中的数据类型之旅
2015/10/18 Javascript
详解Backbone.js框架中的模型Model与其集合collection
2016/05/05 Javascript
基于JavaScript实现回到页面顶部动画代码
2016/05/24 Javascript
微信小程序 教程之wxapp视图容器 scroll-view
2016/10/19 Javascript
使用 bootstrap modal遇到的问题小结
2016/11/09 Javascript
深入理解JavaScript中的预解析
2017/01/04 Javascript
详解Vue 实例中的生命周期钩子
2017/03/21 Javascript
jQuery复合事件结合toggle()方法的用法示例
2017/06/10 jQuery
微信小程序之蓝牙的链接
2017/09/26 Javascript
基于vue手写tree插件的那点事儿
2019/08/20 Javascript
微信小程序getLocation 需要在app.json中声明permission字段
2020/03/03 Javascript
antd design table更改某行数据的样式操作
2020/10/31 Javascript
python基于Tkinter库实现简单文本编辑器实例
2015/05/05 Python
利用Python命令行传递实例化对象的方法
2016/11/02 Python
TensorFlow实现创建分类器
2018/02/06 Python
Python cookbook(数据结构与算法)同时对数据做转换和换算处理操作示例
2018/03/23 Python
使用Python给头像加上圣诞帽或圣诞老人小图标附源码
2019/12/25 Python
Django模板标签中url使用详解(url跳转到指定页面)
2020/03/19 Python
pycharm 多行批量缩进和反向缩进快捷键介绍
2021/01/15 Python
用HTML5实现网站在windows8中贴靠的方法
2013/04/21 HTML / CSS
canvas绘制图片drawImage使用方法
2020/09/15 HTML / CSS
斯凯奇美国官网:SKECHERS美国
2016/08/20 全球购物
Smashbox官网:美国知名彩妆品牌
2017/01/05 全球购物
美国家居装饰网上商店:Lulu & Georgia
2019/09/14 全球购物
挑战杯创业计划书的写作指南
2014/01/07 职场文书
团结演讲稿范文
2014/05/23 职场文书
JavaScript实现登录窗体
2021/06/22 Javascript
微前端qiankun改造日渐庞大的项目教程
2022/06/21 Javascript