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 相关文章推荐
IIS下配置Php+Mysql+zend的图文教程
Dec 08 PHP
海河写的 Discuz论坛帖子调用js的php代码
Aug 23 PHP
PHP Google的translate API代码
Dec 10 PHP
php将会员数据导入到ucenter的代码
Jul 18 PHP
ajax 的post方法实例(带循环)
Jul 04 PHP
PHP imagegrabscreen和imagegrabwindow(截取网站缩略图)的实例代码
Nov 07 PHP
浅析ThinkPHP中的pathinfo模式和URL重写
Jan 06 PHP
php缓冲输出实例分析
Jan 05 PHP
php示例详解Constructor Prototype Pattern 原型模式
Oct 15 PHP
linux下为php添加iconv模块的方法
Feb 28 PHP
php通过执行CutyCapt命令实现网页截图的方法
Sep 30 PHP
PHP实现浏览器格式化显示XML的方法示例
Jan 22 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中,文件上传
2006/12/06 PHP
php递归方法实现无限分类实例代码
2014/02/28 PHP
通过php添加xml文档内容的方法
2015/01/23 PHP
利用PHP实现开心消消乐的算法示例
2017/10/12 PHP
javascript Array对象基础知识小结
2010/11/16 Javascript
基于jquery的滚动鼠标放大缩小图片效果
2011/10/27 Javascript
javascript学习笔记(六) Date 日期类型
2012/06/19 Javascript
jquery全选/全不选/反选另一种实现方法(配合原生js)
2013/04/07 Javascript
js导出格式化的excel 实例方法
2013/07/17 Javascript
js 3种归并操作的实例代码
2013/10/30 Javascript
JavaScript中使用document.write向页面输出内容实例
2014/10/16 Javascript
javascript实时显示当天日期的方法
2015/05/20 Javascript
js HTML5多图片上传及预览实例解析(不含前端的文件分割)
2016/08/26 Javascript
javascript循环链表之约瑟夫环的实现方法
2017/01/16 Javascript
react native带索引的城市列表组件的实例代码
2017/08/08 Javascript
vue 使用ref 让父组件调用子组件的方法
2018/02/08 Javascript
vue动态删除从数据库倒入列表的某一条方法
2018/09/29 Javascript
Vuex mutitons和actions初使用详解
2019/03/04 Javascript
使用p5.js临摹动态图形
2019/10/23 Javascript
[50:27]Secret vs VG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
总结网络IO模型与select模型的Python实例讲解
2016/06/27 Python
使用Py2Exe for Python3创建自己的exe程序示例
2018/10/31 Python
Django之编辑时根据条件跳转回原页面的方法
2019/08/21 Python
在python3中实现更新界面
2020/02/21 Python
keras自定义回调函数查看训练的loss和accuracy方式
2020/05/23 Python
keras自动编码器实现系列之卷积自动编码器操作
2020/07/03 Python
Python基于xlutils修改表格内容过程解析
2020/07/28 Python
澳大利亚吉他在线:Artist Guitars
2017/03/30 全球购物
eBay奥地利站:eBay.at
2019/07/24 全球购物
super()与this()的区别
2016/01/17 面试题
幼师专业毕业生自荐信
2013/09/29 职场文书
施工资料员的岗位职责
2013/12/22 职场文书
员工升职自荐信
2015/03/27 职场文书
2016年社会主义核心价值观心得体会
2016/01/21 职场文书
CSS filter 有什么神奇用途
2021/05/25 HTML / CSS
利用Python判断你的密码难度等级
2021/06/02 Python