php curl 上传文件代码实例


Posted in PHP onApril 27, 2015

假设server端上传文件处理脚本upload.php:

<?php  

  

print_r($_POST);  

print_r($_FILES); 

1、使用 CURL 默认的方法
//如果php文件是utf8编码,系统是GBK编码,那么就需要转下编码,要不然Php在系统中找不到这个文件    

$file = realpath(mb_convert_encoding('测试图片.JPG','GBK','utf8'));  

  

$file = realpath('temp.jpg'); //要上传的文件    

$fields['f'] = '@'.$file; // 前面加@符表示上传图片   

  

$ch =curl_init();  

  

  

curl_setopt($ch,CURLOPT_URL,'http://localhost/upload.php');  

  

curl_setopt($ch,CURLOPT_POST,true);  

curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);  

curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);  

  

  

$content = curl_exec($ch);  

  

echo $content; 

2、另类的做法,有时我们需要将动态产生的内容当做文件上传到远程服务器,却又不想在本地服务器中构建临时文件。这样就有了这个另类的写法
$contents =<<< 'TEXT'  

这里是文件内容,也可以是图片二进制,图片需要修改上传文件类型  

TEXT;  

  

$varname = 'my';//上传到$_FILES数组中的 key  

$name = '3.txt';//文件名  

$type = 'text/plain';//文件类型  

  

$key = "$varname\"; filename=\"$name\r\nContent-Type: $type\r\n";  

$fields[$key] = $contents;  

  

  

  

$ch =curl_init();  

  

  

curl_setopt($ch,CURLOPT_URL,'http://localhost/upload.php');  

  

curl_setopt($ch,CURLOPT_POST,true);  

curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);  

curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);  

  

  

$content = curl_exec($ch);  

  

echo $content; 

PHP 相关文章推荐
使用PHP 5.0创建图形的巧妙方法
Oct 12 PHP
支持中文字母数字、自定义字体php验证码代码
Feb 27 PHP
php中使用exec,system等函数调用系统命令的方法(不建议使用,可导致安全问题)
Sep 07 PHP
php strnatcmp()函数的用法总结
Nov 27 PHP
php中文字符串截取方法实例总结
Sep 30 PHP
php内存缓存实现方法
Jan 24 PHP
PHP实现数据分页显示的简单实例
May 26 PHP
PHP编程 SSO详细介绍及简单实例
Jan 13 PHP
PHP检测数据类型的几种方法(总结)
Mar 04 PHP
php unlink()函数使用教程
Jul 12 PHP
python进程与线程小结实例分析
Nov 11 PHP
Laravel5.1 框架表单验证操作实例详解
Jan 07 PHP
php把大写命名转换成下划线分割命名
Apr 27 #PHP
PHP加密解密字符串汇总
Apr 26 #PHP
php开发中的页面跳转方法总结
Apr 26 #PHP
如何使用jQuery+PHP+MySQL来实现一个在线测试项目
Apr 26 #PHP
PHP开启opcache提升代码性能
Apr 26 #PHP
php格式化电话号码的方法
Apr 24 #PHP
php生成年月日下载列表的方法
Apr 24 #PHP
You might like
PHP文件注释标记及规范小结
2012/04/01 PHP
php对文件夹进行相关操作(遍历、计算大小)
2015/11/04 PHP
Ruffy javascript 学习笔记
2009/11/30 Javascript
基于jQuery UI CSS Framework开发Widget的经验
2010/08/21 Javascript
Prototype的Class.create函数解析
2011/09/22 Javascript
js 获取坐标 通过JS得到当前焦点(鼠标)的坐标属性
2013/01/04 Javascript
javascript获取所有同类checkbox选项(实例代码)
2013/11/07 Javascript
Jquery插件编写简明教程
2014/03/25 Javascript
jQuery学习笔记之 Ajax操作篇(三) - 过程处理
2014/06/23 Javascript
实例分析javascript中的call()和apply()方法
2014/11/28 Javascript
javascript实现uploadify上传格式以及个数限制
2015/11/23 Javascript
基于JS实现无缝滚动思路及代码分享
2016/06/07 Javascript
基于js中this和event 的区别(详解)
2017/10/24 Javascript
js中this对象用法分析
2018/01/05 Javascript
JavaScript实现多态和继承的封装操作示例
2018/08/20 Javascript
微信上传视频文件提示(推荐)
2018/11/22 Javascript
js简单实现自动生成表格功能示例
2020/06/02 Javascript
浅谈JS for循环中使用break和continue的区别
2020/07/21 Javascript
[01:51]2014DOTA2国际邀请赛 这个赛场没有失败者VGTi5再见
2014/07/23 DOTA
[01:06]DOTA2亚洲邀请赛专属珍藏-荧煌之礼
2017/03/24 DOTA
老生常谈python函数参数的区别(必看篇)
2017/05/29 Python
Python 2.x如何设置命令执行的超时时间实例
2017/10/19 Python
python实现微信自动回复功能
2018/04/11 Python
python爬虫框架scrapy实现模拟登录操作示例
2018/08/02 Python
配置 Pycharm 默认 Test runner 的图文教程
2018/11/30 Python
python实现扫描局域网指定网段ip的方法
2019/04/16 Python
python实现远程控制电脑
2019/05/23 Python
解决python ThreadPoolExecutor 线程池中的异常捕获问题
2020/04/08 Python
win10安装python3.6的常见问题
2020/07/01 Python
科颜氏英国官网:Kiehl’s英国
2019/11/20 全球购物
精彩广告词大全
2014/03/19 职场文书
残疾人小组计划书
2014/04/27 职场文书
职务任命书范本
2014/06/05 职场文书
社区活动策划方案
2014/08/21 职场文书
孝老爱亲事迹材料
2014/12/24 职场文书
关于mysql中string和number的转换问题
2022/06/14 MySQL