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实际应用经验篇(4)
Oct 09 PHP
让PHP开发者事半功倍的十大技巧小结
Apr 20 PHP
rrmdir php中递归删除目录及目录下的文件
May 15 PHP
PHP+Ajax异步通讯实现用户名邮箱验证是否已注册( 2种方法实现)
Dec 28 PHP
PHP中将字符串转化为整数(int) intval() printf() 性能测试
Mar 20 PHP
PHP ? EasyUI DataGrid 资料存的方式介绍
Nov 07 PHP
PHP设计模式之结构模式的深入解析
Jun 13 PHP
php生成短网址示例
May 05 PHP
THINKPHP2.0到3.0有哪些改进之处
Jan 04 PHP
简介WordPress中用于获取首页和站点链接的PHP函数
Dec 17 PHP
Zend Framework框架Smarty扩展实现方法
Mar 22 PHP
PHP 出现 http500 错误的解决方法
Mar 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
PHP4引用文件语句的对比
2006/10/09 PHP
PHP使用feof()函数读文件的方法
2014/11/07 PHP
PHP魔术方法的使用示例
2015/06/23 PHP
PHP编程基本语法快速入门手册
2016/01/07 PHP
Yii2 GridView实现列表页直接修改数据的方法
2016/05/16 PHP
PDO操作MySQL的基础教程(推荐)
2017/08/18 PHP
用 javascript 实现的点击复制代码
2007/03/24 Javascript
利用jquery操作select下拉列表框的代码
2010/06/04 Javascript
jQuery判断复选框是否勾选的原理及示例
2014/05/21 Javascript
jQuery插件开发详细教程
2014/06/06 Javascript
解析JavaScript的ES6版本中的解构赋值
2015/07/28 Javascript
微信小程序 教程之WXML
2016/10/18 Javascript
Jquery给当前页或者跳转后页面的导航栏添加选中后样式的实例
2016/12/08 Javascript
node.js爬虫爬取拉勾网职位信息
2017/03/14 Javascript
xmlplus组件设计系列之按钮(2)
2017/04/26 Javascript
vue中v-model动态生成的实例详解
2017/10/27 Javascript
Angular4学习教程之DOM属性绑定详解
2018/01/04 Javascript
vue实现div拖拽互换位置
2020/07/29 Javascript
基于JavaScript实现表格隔行换色
2020/05/08 Javascript
解析Python编程中的包结构
2015/10/25 Python
python实现寻找最长回文子序列的方法
2018/06/02 Python
用python3教你任意Html主内容提取功能
2018/11/05 Python
Python数据集切分实例
2018/12/08 Python
Python初学者常见错误详解
2019/07/02 Python
tensorflow estimator 使用hook实现finetune方式
2020/01/21 Python
详解python常用命令行选项与环境变量
2020/02/20 Python
解决windows上安装tensorflow时报错,“DLL load failed: 找不到指定的模块”的问题
2020/05/20 Python
PyCharm 2020.2.2 x64 下载并安装的详细教程
2020/10/15 Python
CSS3绘制超炫的上下起伏波动进度加载动画
2016/04/21 HTML / CSS
伦敦高达60%折扣的钻石珠宝商:Purely Diamonds
2018/06/24 全球购物
美国在线面料商店:Online Fabric Store
2018/07/26 全球购物
Silk Therapeutics官网:清洁、抗衰老护肤品
2020/08/12 全球购物
董事长秘书工作职责
2014/06/10 职场文书
高一地理教学工作总结
2015/08/12 职场文书
一年级语文教学随笔
2015/08/14 职场文书
Java实战之课程信息管理系统的实现
2022/04/01 Java/Android