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 zlib扩展实现页面GZIP压缩输出
Jun 17 PHP
php批量缩放图片的代码[ini参数控制]
Feb 11 PHP
PHP导出MySQL数据到Excel文件(fputcsv)
Jul 03 PHP
php array_push()数组函数:将一个或多个单元压入数组的末尾(入栈)
Jul 12 PHP
php中jQuery插件autocomplate的简单使用笔记
Jun 14 PHP
三种php连接access数据库方法
Nov 11 PHP
浅析ThinkPHP中execute和query方法的区别
Jun 13 PHP
PHP生成随机数的方法实例分析
Jan 22 PHP
php函数mkdir实现递归创建层级目录
Oct 27 PHP
CI框架AR数据库操作常用函数总结
Nov 21 PHP
discuz论坛更换域名,详细文件修改步骤
Dec 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
《一拳超人》埼玉一拳下去,他们存在了800年毫无意义!
2020/03/02 日漫
PHP获取本周第一天和最后一天示例代码
2014/02/24 PHP
学习php设计模式 php实现桥梁模式(bridge)
2015/12/07 PHP
微信开发之网页授权获取用户信息(二)
2016/01/08 PHP
如何用js控制css中的float的代码
2007/08/16 Javascript
JS解密入门之凭直觉解
2008/06/25 Javascript
js关闭浏览器窗口及检查浏览器关闭事件
2013/09/03 Javascript
js截取小数点后几位的写法
2013/11/14 Javascript
js 触发select onchange事件代码
2014/03/20 Javascript
jquery mobile的触控点击事件会多次触发问题的解决方法
2014/05/08 Javascript
jQuery自带的一些常用方法总结
2014/09/03 Javascript
JavaScript中DOM详解
2015/04/13 Javascript
使用Bootstrap typeahead插件实现搜索框自动补全的方法
2016/07/07 Javascript
卸载安装Node.js与npm过程详解
2016/08/15 Javascript
基于JavaScript实现随机颜色输入框
2016/12/10 Javascript
设置jquery UI 控件的大小方法
2016/12/12 Javascript
原生JS实现圣旨卷轴展开效果
2017/03/06 Javascript
深入理解angular2启动项目步骤
2017/07/15 Javascript
es6数值的扩展方法
2019/03/11 Javascript
vue 动态给每个页面添加title、关键词和描述的方法
2020/08/28 Javascript
Javascript实现关闭广告效果
2021/01/29 Javascript
python重试装饰器示例
2014/02/11 Python
PyQt5 QTable插入图片并动态更新的实例
2019/06/18 Python
在PyCharm的 Terminal(终端)切换Python版本的方法
2019/08/02 Python
获取Pytorch中间某一层权重或者特征的例子
2019/08/17 Python
python中if嵌套命令实例讲解
2021/02/25 Python
html5教你做炫酷的碎片式图片切换 (canvas)
2017/07/28 HTML / CSS
美国名牌太阳镜折扣网站:Eyedictive
2017/05/15 全球购物
荷兰多品牌网上鞋店:Stoute Schoenen
2017/08/24 全球购物
Fanatics英国官网:美国体育电商
2018/11/06 全球购物
采购部经理岗位职责
2014/02/10 职场文书
捐资助学感谢信
2015/01/21 职场文书
莫言获奖感言(全文)
2015/07/31 职场文书
高效课堂教学反思
2016/02/24 职场文书
Mysql中调试存储过程最简单的方法
2021/06/30 MySQL
什么是Python装饰器?如何定义和使用?
2022/04/11 Python