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中变量及部分适用方法
Mar 27 PHP
PHP foreach循环使用详解与实例代码
May 08 PHP
php下获取Discuz论坛登录用户名、用户组、用户ID等信息的实现代码
Dec 29 PHP
zf框架的Filter过滤器使用示例
Mar 13 PHP
PHP使用range协议实现输出文件断点续传代码实例
Jul 04 PHP
php防止网站被刷新的方法汇总
Dec 01 PHP
PHP使用GETDATE获取当前日期时间作为一个关联数组的方法
Mar 19 PHP
thinkPHP模型初始化实例分析
Dec 03 PHP
PHP设计模式之工厂模式实例总结
Sep 01 PHP
YII框架页面缓存操作示例
Apr 29 PHP
php7中停止php-fpm服务的方法详解
May 09 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
全国FM电台频率大全 - 25 云南省
2020/03/11 无线电
《逃离塔科夫》——“萌新劝退,老手自嗨”的硬核FPS游戏
2020/04/03 其他游戏
自己在做项目过程中学到的PHP知识收集
2012/08/20 PHP
PHP中使用addslashes函数转义的安全性原理分析
2014/11/03 PHP
php实现用于删除整个目录的递归函数
2015/03/16 PHP
PHP实现无限级分类(不使用递归)
2015/10/22 PHP
PHP中strcmp()和strcasecmp()函数字符串比较用法分析
2016/01/07 PHP
Laravel实现构造函数自动依赖注入的方法
2016/03/16 PHP
php面向对象之反射功能与用法分析
2017/03/29 PHP
phpcms配置列表页以及获得文章发布时间
2017/07/04 PHP
JQuery 技巧和窍门整理(8个)
2010/04/22 Javascript
打印json对象的内容及JSON.stringify函数应用
2013/03/29 Javascript
JavaScript的常见兼容问题及相关解决方法(chrome/IE/firefox)
2013/12/31 Javascript
禁用JavaScript控制台调试的方法
2014/03/07 Javascript
JavaScript模拟push
2016/03/06 Javascript
javascript仿京东导航左侧分类导航下拉菜单效果
2020/11/25 Javascript
Js得到radiobuttonlist选中值的两种方法(推荐)
2016/08/25 Javascript
jQuery基本过滤选择器用法示例
2016/09/09 Javascript
详解HTTPS 的原理和 NodeJS 的实现
2017/07/04 NodeJs
jQuery实现的简单动态添加、删除表格功能示例
2017/09/21 jQuery
Bootstrap图片轮播效果详解
2017/10/17 Javascript
AngularJS实现的生成随机数与猜数字大小功能示例
2017/12/25 Javascript
javascript实现文本框标签验证的实例代码
2018/10/14 Javascript
javascript对HTML字符转义与反转义
2018/12/13 Javascript
js利用iframe实现选项卡效果
2020/08/09 Javascript
在vue中使用cookie记住用户上次选择的实例(本次例子中为下拉框)
2020/09/11 Javascript
Python使用jsonpath-rw模块处理Json对象操作示例
2018/07/31 Python
python数据处理之如何选取csv文件中某几行的数据
2019/09/02 Python
pytorch 图像中的数据预处理和批标准化实例
2020/01/15 Python
关于Python 中的时间处理包datetime和arrow的方法详解
2020/03/19 Python
Html5新增标签与样式及让元素水平垂直居中
2019/07/11 HTML / CSS
中国电子产品外贸网站:MiniIntheBox
2017/02/06 全球购物
《藤野先生》教学反思
2014/02/19 职场文书
入党自荐书范文
2014/03/09 职场文书
合伙协议书范本
2014/04/21 职场文书
浅谈Web Storage API的使用
2021/06/23 Javascript