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 相关文章推荐
模仿OSO的论坛(一)
Oct 09 PHP
PHP HTML代码串截取代码
Dec 29 PHP
PHP中防止SQL注入实现代码
Feb 19 PHP
smarty模板中拼接字符串的方法
Feb 14 PHP
PHP间隔一段时间执行代码的方法
Dec 02 PHP
php输出指定时间以前时间格式的方法
Mar 21 PHP
typecho插件编写教程(一):Hello World
May 28 PHP
php获取英文姓名首字母的方法
Jul 13 PHP
Zend Framework教程之Zend_Config_Ini用法分析
Mar 23 PHP
PHP简单实现无限级分类的方法
May 13 PHP
php从数据库中读取特定的行(实例)
Jun 02 PHP
php安装扩展mysqli的实现步骤及报错解决办法
Sep 23 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中MD5函数使用实例代码
2008/06/07 PHP
PHP 向右侧拉菜单实现代码,测试使用中
2009/11/03 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(八)
2014/06/23 PHP
CodeIgniter使用smtp服务发送html邮件的方法
2015/06/10 PHP
PHP各种异常和错误的拦截方法及发生致命错误时进行报警
2016/01/19 PHP
ThinkPHP连接Oracle数据库
2016/04/22 PHP
php-app开发接口加密详解
2018/04/18 PHP
Dom加载让图片加载完再执行的脚本代码
2008/05/15 Javascript
iScroll中事件点击触发两次解决方案
2015/03/11 Javascript
在JS方法中返回多个值的方法汇总
2015/05/20 Javascript
全面解析jQuery $(document).ready()和JavaScript onload事件
2016/06/08 Javascript
D3.js实现折线图的方法详解
2016/09/21 Javascript
JavaScript注入漏洞的原理及防范(详解)
2016/12/04 Javascript
js正则表达式最长匹配(贪婪匹配)和最短匹配(懒惰匹配)用法分析
2016/12/27 Javascript
JS实现队列的先进先出功能示例
2017/05/10 Javascript
Javascript Promise用法详解
2018/05/10 Javascript
python实现进程间通信简单实例
2014/07/23 Python
分享Python文本生成二维码实例
2016/01/06 Python
Python 将RGB图像转换为Pytho灰度图像的实例
2017/11/14 Python
深入理解Python3 内置函数大全
2017/11/23 Python
可视化pytorch 模型中不同BN层的running mean曲线实例
2020/06/24 Python
python3将变量输入的简单实例
2020/08/19 Python
Python:__eq__和__str__函数的使用示例
2020/09/26 Python
关于python scrapy中添加cookie踩坑记录
2020/11/17 Python
优秀生推荐信范文
2013/11/28 职场文书
硕士研究生自我鉴定范文
2013/12/27 职场文书
中学生运动会入场词
2014/02/12 职场文书
成人继续教育实施方案
2014/03/01 职场文书
公务员群众路线专题民主生活会发言材料
2014/09/17 职场文书
办公室主任岗位职责范本
2015/03/31 职场文书
2015中秋祝酒词
2015/08/12 职场文书
教师法制教育培训学习心得体会
2016/01/14 职场文书
关于React Native 无法链接模拟器的问题
2021/06/21 Javascript
Python+Matplotlib+LaTeX玩转数学公式
2022/02/24 Python
Vue的过滤器你真了解吗
2022/02/24 Vue.js
前端与RabbitMQ实时消息推送未读消息小红点实现示例
2022/07/23 Java/Android