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生成EXCEL的东东
Oct 09 PHP
php mysql数据库操作分页类
Jun 04 PHP
需要发散思维学习PHP
Jun 29 PHP
PHP 批量更新网页内容实现代码
Jan 05 PHP
Views rows style模板重写代码
May 16 PHP
php smarty截取中文字符乱码问题?gb2312/utf-8
Nov 07 PHP
PHP 中关于ord($str)&amp;gt;0x80的详细说明
Sep 23 PHP
php文件缓存类汇总
Nov 21 PHP
Codeigniter框架实现获取分页数据和总条数的方法
Dec 05 PHP
thinkPHP模板引擎用法示例
Dec 08 PHP
微信公众号OAuth2.0网页授权问题浅析
Jan 21 PHP
PHP实现的策略模式示例
Mar 20 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
收音机发烧友应当熟知的100条知识
2021/03/02 无线电
PHP date函数参数详解
2006/11/27 PHP
深入理解用mysql_fetch_row()以数组的形式返回查询结果
2013/06/05 PHP
Yii2 rbac权限控制操作步骤实例教程
2016/04/29 PHP
利用php获得flv视频长度的实例代码
2017/10/26 PHP
用showModalDialog弹出页面后,提交表单总是弹出一个新窗口
2009/07/18 Javascript
JS实现一个按钮的方法
2015/02/05 Javascript
js实现最短的XML格式化工具实例
2015/03/12 Javascript
详解JavaScript中循环控制语句的用法
2015/06/03 Javascript
怎么通过onclick事件获取js函数返回值(代码少)
2015/07/28 Javascript
ajax的分页查询示例(不刷新页面)
2017/01/11 Javascript
loading动画特效小结
2017/01/22 Javascript
BootStrap daterangepicker 双日历控件
2017/06/02 Javascript
微信小程序自定义模态对话框实例详解
2017/08/16 Javascript
JS实现调用本地摄像头功能示例
2018/05/18 Javascript
layui弹出框Tab选项卡的示例代码
2019/09/04 Javascript
python连接mysql调用存储过程示例
2014/03/05 Python
python查找目录下指定扩展名的文件实例
2015/04/01 Python
基python实现多线程网页爬虫
2015/09/06 Python
Python调用SQLPlus来操作和解析Oracle数据库的方法
2016/04/09 Python
django foreignkey外键使用的例子 相当于left join
2019/08/06 Python
face++与python实现人脸识别签到(考勤)功能
2019/08/28 Python
Python中的__init__作用是什么
2020/06/09 Python
详解基于Scrapy的IP代理池搭建
2020/09/29 Python
python中翻译功能translate模块实现方法
2020/12/17 Python
多重CSS背景动画实现方法示例
2014/04/04 HTML / CSS
Brora官网:英国领先的羊绒服装品牌
2019/08/28 全球购物
The Outnet亚太地区:折扣设计师时装店
2019/12/05 全球购物
Bonprix法国:时尚、鞋子、家居
2020/12/29 全球购物
关于Java finally的面试题
2016/04/27 面试题
找工作最新求职信
2013/12/22 职场文书
操行评语大全
2014/04/30 职场文书
初中新生军训方案
2014/05/13 职场文书
不听老师话的万能检讨书
2014/10/04 职场文书
大学生求职信怎么写
2015/03/19 职场文书
2019年冬至:天冷暖人心的问候祝福语大全
2019/12/20 职场文书