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(1)--回到未来
Oct 09 PHP
修改了一个很不错的php验证码(支持中文)
Feb 14 PHP
Discuz板块横排显示图片的实现方法
May 28 PHP
PHP操作文件类的函数代码(文件和文件夹创建,复制,移动和删除)
Nov 10 PHP
php+ajax实现的点击浏览量加1
Apr 16 PHP
实例讲解yii2.0在php命令行中运行的步骤
Dec 01 PHP
thinkphp中的url跳转用法分析
Jul 12 PHP
PHP第三方登录―QQ登录实现方法
Feb 06 PHP
Laravel使用原生sql语句并调用的方法
Oct 09 PHP
thinkphp5使html5实现动态跳转的例子
Oct 16 PHP
如何在centos8自定义目录安装php7.3
Nov 28 PHP
php中try catch捕获异常实例详解
Aug 06 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/10/09 PHP
弄了个检测传输的参数是否为数字的Function
2006/12/06 PHP
Ext.data.PagingMemoryProxy分页一次性读取数据的实现代码
2010/04/07 PHP
php实现按指定大小等比缩放生成上传图片缩略图的方法
2014/12/15 PHP
php之static静态属性与静态方法实例分析
2015/07/30 PHP
PHP 类与构造函数解析
2017/02/06 PHP
List Information About the Binary Files Used by an Application
2007/06/11 Javascript
动态载入/删除/更新外部 JavaScript/Css 文件的代码
2010/07/03 Javascript
自己动手制作jquery插件之自动添加删除行功能介绍
2011/10/14 Javascript
jQuery事件绑定.on()简要概述及应用
2013/02/07 Javascript
jQuery控制网页打印指定区域的方法
2015/04/07 Javascript
浏览器兼容的JS写法总结
2016/04/27 Javascript
漂亮! js实现颜色渐变效果
2016/08/12 Javascript
BootStrap中的Fontawesome 图标
2017/05/25 Javascript
JavaScript创建对象_动力节点Java学院整理
2017/06/27 Javascript
js推箱子小游戏步骤代码解析
2018/01/10 Javascript
vue项目实现记住密码到cookie功能示例(附源码)
2018/01/31 Javascript
Angular5.0 子组件通过service传递值给父组件的方法
2018/07/13 Javascript
详解写好JS条件语句的5条守则
2019/02/28 Javascript
[38:23]完美世界DOTA2联赛循环赛 FTD vs PXG BO2第二场 11.01
2020/11/02 DOTA
python制作最美应用的爬虫
2015/10/28 Python
python实现八大排序算法(1)
2017/09/14 Python
浅谈python和C语言混编的几种方式(推荐)
2017/09/27 Python
Python中的random.uniform()函数教程与实例解析
2019/03/02 Python
python替换字符串中的子串图文步骤
2019/06/19 Python
从pandas一个单元格的字符串中提取字符串方式
2019/12/17 Python
python lambda函数及三个常用的高阶函数
2020/02/05 Python
python3.6连接mysql数据库及增删改查操作详解
2020/02/10 Python
Python面向对象程序设计之静态方法、类方法、属性方法原理与用法分析
2020/03/23 Python
keras实现VGG16方式(预测一张图片)
2020/07/07 Python
CSS3 仿微信聊天小气泡实例代码
2017/04/05 HTML / CSS
英国独特家具和家庭用品购物网站:Cuckooland
2020/08/30 全球购物
前厅部经理岗位职责范文
2014/02/04 职场文书
工商管理专业毕业生自我鉴定2014
2014/10/04 职场文书
大学生,三分钟即兴演讲稿
2019/07/22 职场文书
Pytorch中使用ImageFolder读取数据集时忽略特定文件
2022/03/23 Python