PHP使用curl模拟post上传及接收文件的方法


Posted in PHP onMarch 04, 2016

本文实例讲述了PHP使用curl模拟post上传及接收文件的方法。分享给大家供大家参考,具体如下:

public function Action_Upload(){
     $this->path_config();
    exit();
    $furl="@d:\develop\JMFrameworkWithDemo.rar";
    $url= "http://localhost/DemoIndex/curl_pos/";
    $this->upload_file_to_cdn($furl, $url);
}
public function upload_file_to_cdn($furl,$url){
    //  初始化
    $ch = curl_init();
    // 要上传的本地文件地址"@F:/xampp/php/php.ini"上传时候,上传路径前面要有@符号
    $post_data = array (
      "upload" => $furl
    );
    //print_r($post_data);
    //CURLOPT_URL 是指提交到哪里?相当于表单里的“action”指定的路径
    //$url = "http://localhost/DemoIndex/curl_pos/";
    //  设置变量
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);//执行结果是否被返回,0是返回,1是不返回
    curl_setopt($ch, CURLOPT_HEADER, 0);//参数设置,是否显示头部信息,1为显示,0为不显示
    //伪造网页来源地址,伪造来自百度的表单提交
    curl_setopt($ch, CURLOPT_REFERER, "http://www.baidu.com");
    //表单数据,是正规的表单设置值为非0
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_TIMEOUT, 100);//设置curl执行超时时间最大是多少
    //使用数组提供post数据时,CURL组件大概是为了兼容@filename这种上传文件的写法,
    //默认把content_type设为了multipart/form-data。虽然对于大多数web服务器并
    //没有影响,但是还是有少部分服务器不兼容。本文得出的结论是,在没有需要上传文件的
    //情况下,尽量对post提交的数据进行http_build_query,然后发送出去,能实现更好的兼容性,更小的请求数据包。
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
    //   执行并获取结果
    curl_exec($ch);
    if(curl_exec($ch) === FALSE)
    {
      echo "<br/>"," cUrl Error:".curl_error($ch);
    }
    //  释放cURL句柄
    curl_close($ch);
    echo "aaa45";
}
function action_curl_pos(){
    var_dump($_FILES);
    $aa= move_uploaded_file($_FILES["upload"]["tmp_name"], "/wamp/tools/1.rar");
    if($aa){
      echo "11";
    }
}

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP4实际应用经验篇(7)
Oct 09 PHP
基于PHP 面向对象之成员方法详解
May 04 PHP
php之CodeIgniter学习笔记
Jun 17 PHP
php使用date和strtotime函数输出指定日期的方法
Nov 14 PHP
简单介绍PHP非阻塞模式
Mar 03 PHP
PHP错误机制知识汇总
Mar 24 PHP
php打包压缩文件之ZipArchive方法用法分析
Apr 30 PHP
PHP后台微信支付和支付宝支付开发
Apr 28 PHP
PHP实现找出链表中环的入口节点
Jan 16 PHP
laravel ORM 只开启created_at的几种方法总结
Jan 29 PHP
PHP将英文数字转换为阿拉伯数字实例讲解
Jan 28 PHP
php给数组赋值的实例方法
Sep 26 PHP
PHP生成和获取XML格式数据的方法
Mar 04 #PHP
PHP使用fopen与file_get_contents读取文件实例分享
Mar 04 #PHP
PHP截取IE浏览器并缩小原图的方法
Mar 04 #PHP
zend framework中使用memcache的方法
Mar 04 #PHP
PHP结合Mysql数据库实现留言板功能
Mar 04 #PHP
实现PHP框架系列文章(6)mysql数据库方法
Mar 04 #PHP
Codeigniter中集成smarty和adodb的方法
Mar 04 #PHP
You might like
解析yahoo邮件用phpmailer发送的实例
2013/06/24 PHP
PHP函数实现分页含文本分页和数字分页
2014/10/23 PHP
php提取字符串中网站url地址的方法
2014/12/03 PHP
推荐10个提供免费PHP脚本下载的网站
2014/12/31 PHP
PHP实现的memcache环形队列类实例
2015/07/28 PHP
PHP经典算法集锦【经典收藏】
2016/09/14 PHP
Linux服务器下PHPMailer发送邮件失败的问题解决
2017/03/04 PHP
PHP实现的迪科斯彻(Dijkstra)最短路径算法实例
2017/09/16 PHP
PHP数组实际占用内存大小原理解析
2020/12/11 PHP
解析javascript 实用函数的使用详解
2013/05/10 Javascript
js中的caller和callee属性介绍和例子
2014/06/07 Javascript
jquery实现在页面加载的时自动为日期插件添加当前日期
2014/08/20 Javascript
对JavaScript的全文搜索实现相关度评分的功能的方法
2015/06/24 Javascript
易操作的jQuery表单提示插件
2015/12/01 Javascript
简单理解Vue条件渲染
2016/12/03 Javascript
基于js实现二级下拉联动
2016/12/17 Javascript
vue2.0嵌套路由实现豆瓣电影分页功能(附demo)
2017/03/13 Javascript
微信小程序商城项目之商品属性分类(4)
2017/04/17 Javascript
Vue如何从1.0迁移到2.0
2017/10/19 Javascript
微信小程序调用天气接口并且渲染在页面过程详解
2019/06/24 Javascript
Vue实现日历小插件
2019/06/26 Javascript
JS开发自己的类库实例分析
2019/08/28 Javascript
详解 javascript对象创建模式
2020/10/30 Javascript
使用url_helper简化Python中Django框架的url配置教程
2015/05/30 Python
TensorFlow实现随机训练和批量训练的方法
2018/04/28 Python
浅析python中的迭代与迭代对象
2018/10/08 Python
python读取csv文件指定行的2种方法详解
2020/02/13 Python
CSS3文本换行word-wrap解决英文文本超过固定宽度不换行
2013/10/10 HTML / CSS
x-ua-compatible content=”IE=7, IE=9″意思理解
2013/07/22 HTML / CSS
泰国排名第一的家居用品中心:HomePro
2020/11/18 全球购物
职位说明书范文
2014/05/07 职场文书
2014年银行员工年终自我评价
2014/09/19 职场文书
js不常见操作运算符总结
2021/11/20 Javascript
Python中的 Set 与 dict
2022/03/13 Python
Vue组件更新数据v-model不生效的解决
2022/04/02 Vue.js
CSS实现鼠标悬浮动画特效
2023/05/07 HTML / CSS