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 相关文章推荐
smarty的保留变量问题
Oct 23 PHP
php中判断字符串是否全是中文或含有中文的实现代码
Sep 16 PHP
PHP设计模式 注册表模式(多个类的注册)
Feb 05 PHP
php中的curl使用入门教程和常见用法实例
Apr 10 PHP
是 WordPress 让 PHP 更流行了 而不是框架
Feb 03 PHP
PHP性能优化大全(php.ini)
May 20 PHP
Yii数据模型中rules类验证器用法分析
Jul 15 PHP
注意!PHP 7中不要做的10件事
Sep 18 PHP
详解php中的implements 使用
Jun 13 PHP
php 提交表单 关闭layer弹窗iframe的实例讲解
Aug 20 PHP
php实现统计IP数及在线人数的示例代码
Jul 22 PHP
PHP延迟静态绑定使用方法实例解析
Sep 05 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
上传文件先创建目录 再上传到目录里面去
2010/12/29 PHP
浅谈PHP5.6 与 PHP7.0 区别
2019/10/09 PHP
Javascript学习笔记之 对象篇(三) : hasOwnProperty
2014/06/24 Javascript
javascript数组遍历for与for in区别详解
2014/12/04 Javascript
jQuery随机密码生成的方法
2015/03/09 Javascript
PHP+jQuery+Ajax+Mysql如何实现发表心情功能
2015/08/06 Javascript
微信小程序链接传参并跳转新页面
2016/11/29 Javascript
在vue-cli脚手架中配置一个vue-router前端路由
2017/07/03 Javascript
JavaScript实现微信号随机切换代码
2018/03/09 Javascript
微信小程序时间控件picker view使用详解
2018/12/28 Javascript
VsCode与Node.js知识点详解
2019/09/05 Javascript
小程序两种滚动公告栏的实现方法
2019/09/17 Javascript
Object.keys() 和 Object.getOwnPropertyNames() 的区别详解
2020/05/21 Javascript
利用React高阶组件实现一个面包屑导航的示例
2020/08/23 Javascript
[08:47]DOTA2每周TOP10 精彩击杀集锦vol.6
2014/06/25 DOTA
跟老齐学Python之编写类之三子类
2014/10/11 Python
零基础写python爬虫之urllib2使用指南
2014/11/05 Python
python编程开发之日期操作实例分析
2015/11/13 Python
Python进度条实时显示处理进度的示例代码
2018/01/30 Python
Python实现矩阵相乘的三种方法小结
2018/07/26 Python
Python3.4 splinter(模拟填写表单)使用方法
2018/10/13 Python
python中实现控制小数点位数的方法
2019/01/24 Python
python实现计数排序与桶排序实例代码
2019/03/28 Python
Python爬虫 scrapy框架爬取某招聘网存入mongodb解析
2019/07/31 Python
Python基于yield遍历多个可迭代对象
2020/03/12 Python
python把一个字符串切开的实例方法
2020/09/27 Python
说出数据连接池的工作机制是什么?
2013/04/19 面试题
JavaScript获取当前url根目录(路径)
2014/02/19 面试题
电子商务专业个人的自我评价
2013/12/19 职场文书
毕业大学生自荐信
2014/06/17 职场文书
2014年学生会工作总结
2014/11/07 职场文书
事业单位财务人员岗位职责
2015/04/14 职场文书
工作证明书
2015/06/15 职场文书
2016年小学中秋节活动总结
2016/04/05 职场文书
创业项目(超低成本创业项目)
2019/08/16 职场文书
win10输入法不见了只能打出字母怎么解决?
2022/08/05 数码科技