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 相关文章推荐
一个简洁的多级别论坛
Oct 09 PHP
php下图片文字混合水印与缩略图实现代码
Dec 11 PHP
几款免费开源的不用数据库的php的cms
Dec 19 PHP
php中计算程序运行时间的类代码
Nov 03 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十六)
Jun 30 PHP
php实现httpRequest的方法
Mar 13 PHP
百度工程师讲PHP函数的实现原理及性能分析(一)
May 13 PHP
PHP5.4起内置web服务器使用方法
Aug 09 PHP
php的4种常用运行方式详解
Dec 22 PHP
PHP实现的简单在线计算器功能示例
Aug 02 PHP
laravel实现批量更新多条记录的方法示例
Oct 22 PHP
JS(jQuery)实现聊天接收到消息语言自动提醒功能详解【提示“您有新的消息请注意查收”】
Apr 16 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
Dedecms V3.1 生成HTML速度的优化办法
2007/03/18 PHP
thinkphp中连接oracle时封装方法无法用的解决办法
2013/06/17 PHP
smarty基础之拼接字符串的详解
2013/06/18 PHP
PHP采用get获取url汉字出现乱码的解决方法
2014/11/13 PHP
9个经典的PHP代码片段分享
2014/12/18 PHP
php实现网页上一页下一页翻页过程详解
2019/06/28 PHP
IE6-8中Date不支持toISOString的修复方法
2014/05/04 Javascript
分享20款美化网站的 jQuery Lightbox 灯箱插件
2014/10/10 Javascript
JS实现文件动态顺序载入的方法
2015/03/07 Javascript
JavaScript实现把rgb颜色转换成16进制颜色的方法
2015/06/01 Javascript
详解Javascript中的Object对象
2016/02/28 Javascript
浅析BootStrap栅格系统
2016/06/07 Javascript
深入理解(function(){... })();
2016/08/16 Javascript
BooStrap对导航条的改造实践小结
2016/09/21 Javascript
jQuery select自动选中功能实现方法分析
2016/11/28 Javascript
vue项目中做编辑功能传递数据时遇到问题的解决方法
2016/12/19 Javascript
详解数组Array.sort()排序的方法
2020/05/09 Javascript
Vuejs实现带样式的单文件组件新方法
2017/05/02 Javascript
JavaScript通过filereader接口读取文件
2017/05/10 Javascript
Bootstrap 模态框多次显示后台提交多次BUG的解决方法
2017/12/26 Javascript
基于mpvue搭建微信小程序项目框架的教程详解
2019/04/10 Javascript
微信小程序实现吸顶特效
2020/01/08 Javascript
Python实现Tab自动补全和历史命令管理的方法
2015/03/12 Python
解析Python中的生成器及其与迭代器的差异
2016/06/20 Python
Oroton中国官网:澳洲知名奢侈配饰品牌
2017/03/26 全球购物
Kathmandu澳洲户外商店:新西兰户外运动品牌
2017/11/12 全球购物
澳大利亚领先的亚麻品牌:Bed Threads
2019/12/16 全球购物
毕业求职自荐信格式是什么
2013/11/19 职场文书
会计与审计毕业生自荐信范文
2013/12/30 职场文书
公司节能减排方案
2014/05/16 职场文书
农村文化活动总结
2014/08/28 职场文书
公司承诺函范文
2015/01/21 职场文书
圆明园纪录片观后感
2015/06/03 职场文书
python调试工具Birdseye的使用教程
2021/05/25 Python
总结一些Java常用的加密算法
2021/06/11 Java/Android
Win11查看设备管理器
2022/04/19 数码科技