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将数据导入到Foxmail
Oct 09 PHP
比较好用的PHP防注入漏洞过滤函数代码
Apr 11 PHP
php中判断文件存在是用file_exists还是is_file的整理
Sep 12 PHP
PHP CodeBase:将时间显示为&quot;刚刚&quot;&quot;n分钟/小时前&quot;的方法详解
Jun 06 PHP
php登陆页的密码处理方式分享
Oct 14 PHP
ThinkPHP CURD方法之field方法详解
Jun 18 PHP
Thinkphp中import的几个用法详细介绍
Jul 02 PHP
PHP简单获取视频预览图的方法
Mar 12 PHP
PHP中Session可能会引起并发问题
Jun 26 PHP
PHP和MySql中32位和64位的整形范围是多少
Feb 18 PHP
总结的一些PHP开发中的tips(必看篇)
Mar 24 PHP
PHP通过文件路径获取文件名的实例代码
Oct 14 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
大师制作的中短波矿石收音机
2020/04/02 无线电
PHP+MYSQL开发工具及资源收藏
2007/01/02 PHP
php数组声明、遍历、数组全局变量使用小结
2013/06/05 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(三)
2014/06/23 PHP
thinkPHP实现瀑布流的方法
2014/11/29 PHP
php字符串过滤与替换小结
2015/01/26 PHP
源码分析 Laravel 重复执行同一个队列任务的原因
2017/12/25 PHP
PHP格式化显示时间date()函数代码
2018/10/03 PHP
番茄的表单验证类代码修改版
2008/07/18 Javascript
仅用[]()+!等符号就足以实现几乎任意Javascript代码
2010/03/01 Javascript
javascript对象之内置对象Math使用方法
2010/04/16 Javascript
自定义jQuery选项卡插件实例
2013/03/27 Javascript
jQuery contains过滤器实现精确匹配使用方法
2013/04/12 Javascript
jquery进行数组遍历如何跳出当前的each循环
2014/06/05 Javascript
Hammer.js+轮播原理实现简洁的滑屏功能
2016/02/02 Javascript
JS实现的相册图片左右滚动完整实例
2016/11/23 Javascript
web 屏蔽BackSpace键实例代码
2016/12/24 Javascript
BootStrap表单控件之复选框checkbox和单选择按钮radio
2017/05/23 Javascript
nodejs前端模板引擎swig入门详解
2018/05/15 NodeJs
vue-router的使用方法及含参数的配置方法
2018/11/13 Javascript
VUE实现密码验证与提示功能
2019/10/18 Javascript
快速了解Vue父子组件传值以及父调子方法、子调父方法
2020/07/15 Javascript
python库lxml在linux和WIN系统下的安装
2018/06/24 Python
python绘制多个子图的实例
2019/07/07 Python
python+Selenium自动化测试——输入,点击操作
2020/03/06 Python
python之随机数函数的实现示例
2020/12/30 Python
诗狄娜化妆品官方网站:Stila Cosmetics
2016/12/21 全球购物
英国豪华真皮和布艺沙发销售网站:Darlings of Chelsea
2018/01/05 全球购物
关于运动会的口号
2014/06/07 职场文书
关于读书的演讲稿400字
2014/08/27 职场文书
读群众路线的心得体会
2014/09/03 职场文书
五好家庭事迹材料
2014/12/20 职场文书
2015年国庆节演讲稿范文
2015/07/30 职场文书
升学宴学生致辞
2015/09/29 职场文书
中秋节英文祝福语句(14句)
2019/09/11 职场文书
Golang 字符串的常见操作
2022/04/19 Golang