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 相关文章推荐
PHP出错界面
Oct 09 PHP
在php中使用sockets:从新闻组中获取文章
Oct 09 PHP
php 获取客户端的真实ip
Nov 30 PHP
PHP 第二节 数据类型之数值型
Apr 28 PHP
PHP实现单例模式最安全的做法
Jun 13 PHP
php实现的双向队列类实例
Sep 24 PHP
跟我学Laravel之请求(Request)的生命周期
Oct 15 PHP
PHP中实现接收多个name相同但Value不相同表单数据实例
Feb 03 PHP
PHP经典面试题之设计模式(经常遇到)
Oct 15 PHP
php实现等比例不失真缩放上传图片的方法
Nov 14 PHP
PHP PDOStatement::errorInfo讲解
Jan 31 PHP
PHP var关键字相关原理及使用实例解析
Jul 11 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 和 HTML
2006/10/09 PHP
php中几种常见安全设置详解
2010/04/06 PHP
php查询mysql大量数据造成内存不足的解决方法
2015/03/04 PHP
在Laravel5.6中使用Swoole的协程数据库查询
2018/06/15 PHP
PDO::getAttribute讲解
2019/01/28 PHP
简单实用的js调试logger组件实现代码
2010/11/20 Javascript
关于Ext中form移除textfield方法:hide(),setVisible(false),remove()
2010/12/02 Javascript
JavaScript模板入门介绍
2012/09/26 Javascript
JavaScript实现大数的运算
2014/11/24 Javascript
JS实现带缓冲效果打开、关闭、移动一个层的方法
2015/05/09 Javascript
jquery实现点击label的同时触发文本框点击事件的方法
2015/06/05 Javascript
纯javascript模仿微信打飞机小游戏
2015/08/20 Javascript
微信小程序 自己制作小组件实例详解
2016/12/22 Javascript
jQuery UI仿淘宝搜索下拉列表功能
2017/01/10 Javascript
JavaScript循环_动力节点Java学院整理
2017/06/28 Javascript
jQuery实现获取table中鼠标click点击位置行号与列号的方法
2017/10/09 jQuery
JS简单实现数组去重的方法分析
2017/10/14 Javascript
Vue+Vux项目实践完整代码
2017/11/30 Javascript
小程序实现列表删除功能
2018/10/30 Javascript
原生JS实现逼真的图片3D旋转效果详解
2019/02/16 Javascript
vue制作toast组件npm包示例代码
2020/10/29 Javascript
在vue中嵌入外部网站的实现
2020/11/13 Javascript
[43:36]Liquid vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python内置函数之filter map reduce介绍
2014/11/30 Python
Python生成8位随机字符串的方法分析
2017/12/05 Python
Pytorch GPU显存充足却显示out of memory的解决方式
2020/01/13 Python
Python3.6安装卸载、执行命令、执行py文件的方法详解
2020/02/20 Python
HTML5视频播放插件 video.js介绍
2018/09/29 HTML / CSS
德国旅游网站:weg.de
2018/06/03 全球购物
商场拾金不昧表扬信
2014/01/13 职场文书
银行求职自荐书
2014/06/25 职场文书
同志主要表现材料
2014/08/21 职场文书
山东省召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
2014年物资管理工作总结
2014/12/02 职场文书
详解Python小数据池和代码块缓存机制
2021/04/07 Python
浅析CSS在DevTools 中架构演变
2021/10/05 HTML / CSS