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 相关文章推荐
4.与数据库的连接
Oct 09 PHP
关于php操作mysql执行数据库查询的一些常用操作汇总
Jun 24 PHP
php生成随机数的三种方法
Sep 10 PHP
PHP写日志的实现方法
Nov 05 PHP
分享十款最出色的PHP安全开发库中文详细介绍
Mar 22 PHP
php实现常见图片格式的水印和缩略图制作(面向对象)
Jun 15 PHP
PHP函数引用返回的实例详解
Sep 11 PHP
laravel 5.4 + vue + vux + element的环境搭配过程介绍
Apr 26 PHP
PHP函数积累总结
Mar 19 PHP
PHP设计模式之策略模式原理与用法实例分析
Apr 04 PHP
php设计模式之备忘模式分析【星际争霸游戏案例】
Mar 24 PHP
THINKPHP-Apache服务器中使用Alias虚拟目录URL重写 隐藏index.php
Mar 09 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实现的遍历文件夹下所有文件,编辑删除
2010/01/05 PHP
创建配置文件 用PHP写出自己的BLOG系统 2
2010/04/12 PHP
Apache中php.ini的设置方法
2013/02/28 PHP
PHP中使用array函数新建一个数组
2015/11/19 PHP
验证坐标在某坐标区域内php代码
2016/10/08 PHP
Thinkphp 框架基础之入口文件功能、定义与用法分析
2020/04/27 PHP
PHP实现爬虫爬取图片代码实例
2021/03/03 PHP
鼠标移动到一张图片时变为另一张图片
2006/12/05 Javascript
JavaScript 继承详解(三)
2009/07/13 Javascript
javascript测试题练习代码
2012/10/10 Javascript
jquery 文本上下无缝滚动,鼠标放上去就停止 小例子
2013/06/05 Javascript
jquery特效 幻灯片效果示例代码
2013/07/16 Javascript
css样式标签和js语法属性区别
2013/11/06 Javascript
JavaScript清空数组元素的两种方法简单比较
2015/07/10 Javascript
jQuery焦点图切换特效代码分享
2015/09/15 Javascript
jQuery Dialog 打开时自动聚焦的解决方法(两种方法)
2016/11/24 Javascript
详解vuejs几种不同组件(页面)间传值的方式
2017/06/01 Javascript
Vue.set() this.$set()引发的视图更新思考及注意事项
2018/08/30 Javascript
Angular6 Filter实现页面搜索的示例代码
2018/12/02 Javascript
Vue.js实现开发购物车功能的方法详解
2019/02/22 Javascript
详解axios中封装使用、拦截特定请求、判断所有请求加载完毕)
2019/04/09 Javascript
在Linux下使用Python的matplotlib绘制数据图的教程
2015/06/11 Python
浅谈Tensorflow模型的保存与恢复加载
2018/04/26 Python
Python排序算法之选择排序定义与用法示例
2018/04/29 Python
深入了解和应用Python 装饰器 @decorator
2019/04/02 Python
图文详解Django使用Pycharm连接MySQL数据库
2019/08/09 Python
python enumerate内置函数用法总结
2020/01/07 Python
Python 实现将大图切片成小图,将小图组合成大图的例子
2020/03/14 Python
Python根据字典的值查询出对应的键的方法
2020/09/30 Python
Numpy数组的广播机制的实现
2020/11/03 Python
String是最基本的数据类型吗?
2013/06/13 面试题
化学相关工作求职信
2013/10/02 职场文书
工程专业求职自荐书范文
2014/02/08 职场文书
活动总结模板
2014/05/09 职场文书
党员民主评议自我评价
2014/10/20 职场文书
2014年客服工作总结范文
2014/11/13 职场文书