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 相关文章推荐
教你IIS6的PHP最佳配置方法
Sep 05 PHP
phpfans留言版用到的install.php
Jan 04 PHP
Admin generator, filters and I18n
Oct 06 PHP
PHP json_decode函数详细解析
Feb 17 PHP
PHP借助phpmailer发送邮件
May 11 PHP
修复ShopNC使用QQ 互联时提示100010 错误
Nov 08 PHP
将PHP程序中返回的JSON格式数据用gzip压缩输出的方法
Mar 03 PHP
php封装单文件上传到数据库(路径)
Oct 15 PHP
ThinkPHP中图片按比例切割的代码实例
Mar 08 PHP
PHP正则表达式笔记与实例详解
May 09 PHP
PHP代码加密的方法总结
Mar 13 PHP
PHP中abstract(抽象)、final(最终)和static(静态)原理与用法详解
Jun 05 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
深入PHP nl2br()格式化输出的详解
2013/06/05 PHP
php利用cookies实现购物车的方法
2014/12/10 PHP
PHP PDO和消息队列的个人理解与应用实例分析
2019/11/25 PHP
javascript中attribute和property的区别详解
2014/06/05 Javascript
JavaScript onkeydown事件入门实例(键盘某个按键被按下)
2014/10/17 Javascript
javascript实现简单的html5视频播放器
2015/05/06 Javascript
javascript中undefined与null的区别
2015/08/16 Javascript
jQuery实现可关闭固定于底(顶)部的工具条菜单效果
2015/11/06 Javascript
浅谈jquery设置和获得checkbox选中的问题
2016/08/19 Javascript
js倒计时小实例(多次定时)
2016/12/08 Javascript
vue-router跳转页面的方法
2017/02/09 Javascript
ES6中Symbol类型用法实例详解
2017/04/06 Javascript
详解AngularJS1.6版本中ui-router路由中/#!/的解决方法
2017/05/22 Javascript
vue.js 实现评价五角星组件的实例代码
2018/08/13 Javascript
vue组件开发之用户无限添加自定义填写表单的方法
2018/08/28 Javascript
原生JS实现轮播图效果
2018/10/12 Javascript
微信小程序模板template简单用法示例
2018/12/04 Javascript
了解javascript中的Dom操作
2019/05/27 Javascript
React 父子组件通信的实现方法
2019/12/05 Javascript
jQuery表单校验插件validator使用方法详解
2020/02/18 jQuery
js实现表格单列按字母排序
2020/08/12 Javascript
[02:41]DOTA2亚洲邀请赛小组赛第三日 赛事回顾
2015/02/01 DOTA
Python 遍历列表里面序号和值的方法(三种)
2017/02/17 Python
Python基础之函数基本用法与进阶详解
2020/01/02 Python
Python写捕鱼达人的游戏实现
2020/03/31 Python
python实现数据结构中双向循环链表操作的示例
2020/10/09 Python
Opencv常见图像格式Data Type及代码实例
2020/11/02 Python
css3动画效果抖动解决方法
2018/09/03 HTML / CSS
8款使用 CSS3 实现超炫的 Loading(加载)的动画效果
2015/03/17 HTML / CSS
大学生优秀团员事迹材料
2014/01/30 职场文书
网络宣传方案
2014/03/15 职场文书
餐厅筹备计划书
2014/04/25 职场文书
公司会议开幕词
2015/01/29 职场文书
观看焦裕禄观后感
2015/06/09 职场文书
2019年自助餐厅创业计划书模板
2019/08/22 职场文书
Win11运行cmd提示“请求的操作需要提升”的两种解决方法
2022/07/07 数码科技