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 相关文章推荐
PHP4 与 MySQL 数据库操作函数详解
Dec 06 PHP
php下保存远程图片到本地的办法
Aug 08 PHP
php array_push()数组函数:将一个或多个单元压入数组的末尾(入栈)
Jul 12 PHP
PHP5中Cookie与 Session使用详解
Apr 30 PHP
基于PHP magic_quotes_gpc的使用方法详解
Jun 24 PHP
PHP实现UTF-8文件BOM自动检测与移除实例
Nov 05 PHP
php计算整个mysql数据库大小的方法
Jun 19 PHP
php写入、删除与复制文件的方法
Jun 20 PHP
3种php生成唯一id的方法
Nov 23 PHP
ThinkPHP框架搭建及常见问题(XAMPP安装失败、Apache/MySQL启动失败)
Apr 15 PHP
Laravel中基于Artisan View扩展包创建及删除应用视图文件的方法
Oct 08 PHP
PHP实现的抓取小说网站内容功能示例
Jun 27 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实现微信公众平台账号自定义菜单类
2014/12/02 PHP
PHP调用QQ互联接口实现QQ登录网站功能示例
2019/10/24 PHP
Jquery 扩展方法
2010/05/06 Javascript
对javascript的一点点认识总结《javascript高级程序设计》读书笔记
2011/11/30 Javascript
JS添加删除一组文本框并对输入信息加以验证判断其正确性
2013/04/11 Javascript
jQuery语法高亮插件支持各种程序源代码语法着色加亮
2013/04/27 Javascript
JS的参数传递示例介绍
2014/02/08 Javascript
js实现ArrayList功能附实例代码
2014/10/29 Javascript
jQuery控制cookie过期时间的方法
2015/04/07 Javascript
你所不了解的javascript操作DOM的细节知识点(一)
2015/06/17 Javascript
jQuery滚动加载图片实现原理
2015/12/14 Javascript
JavaScript常用代码书写规范的超全面总结
2016/09/11 Javascript
原生js封装的一些jquery方法(详解)
2016/09/20 Javascript
bootstrap-table实现服务器分页的示例 (spring 后台)
2017/09/01 Javascript
在vue项目中使用sass的配置方法
2018/03/20 Javascript
Vue项目分环境打包的实现步骤
2018/04/02 Javascript
JS 使用 window对象的print方法实现分页打印功能
2018/05/16 Javascript
js实现特别简单的钟表效果
2020/09/14 Javascript
vue 防止页面加载时看到花括号的解决操作
2020/11/09 Javascript
[45:15]Optic vs VP 2018国际邀请赛淘汰赛BO3 第一场 8.24
2018/08/25 DOTA
Python实现将文本生成二维码的方法示例
2017/07/18 Python
将string类型的数据类型转换为spark rdd时报错的解决方法
2019/02/18 Python
详解Python3中ceil()函数用法
2019/02/19 Python
Python判断两个文件是否相同与两个文本进行相同项筛选的方法
2019/03/01 Python
Python如何实现定时器功能
2020/05/28 Python
Python 实现图片转字符画的示例(静态图片,gif皆可)
2020/11/05 Python
python画图时设置分辨率和画布大小的实现(plt.figure())
2021/01/08 Python
世界上最大的街头服饰网站:Karmaloop
2017/02/04 全球购物
世界上最全面的草药补充剂和顶级品牌维生素网站:HerbsPro
2019/01/20 全球购物
《童趣》教学反思
2014/02/19 职场文书
生产助理岗位职责
2014/06/18 职场文书
2014年办公室文员工作总结
2014/11/12 职场文书
法学专业求职信范文
2015/03/19 职场文书
中国梦宣传标语口号
2015/12/26 职场文书
vue 把二维或多维数组转一维数组
2022/04/24 Vue.js
解决IIS7下无法绑定https主机的问题
2022/04/29 Servers