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 获取可变函数参数的函数
Aug 26 PHP
《PHP编程最快明白》第八讲:php启发和小结
Nov 01 PHP
php中使用parse_url()对网址进行解析的实现代码(parse_url详解)
Jan 03 PHP
深入php之规范编程命名小结
May 15 PHP
浅析php与数据库代码开发规范
Aug 08 PHP
php读取csv实现csv文件下载功能
Dec 18 PHP
PHP将HTML转换成文本的实现代码
Jan 21 PHP
PHP MVC框架skymvc支持多文件上传
May 26 PHP
PHP多维数组元素操作类的方法
Nov 14 PHP
thinkPHP5.0框架简单配置作用域的方法
Mar 17 PHP
kindeditor 加入七牛云上传的实例讲解
Nov 12 PHP
PHP自定义函数实现assign()数组分配到模板及extract()变量分配到模板功能示例
May 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 文章中的远程图片采集到本地的代码
2009/07/30 PHP
PHP获取二维数组中某一列的值集合
2015/12/25 PHP
分享php多功能图片处理类
2016/05/15 PHP
编写高效jQuery代码的4个原则和5个技巧
2014/04/24 Javascript
微信小程序之仿微信漂流瓶实例
2016/12/09 Javascript
前端编码规范(3)JavaScript 开发规范
2017/01/21 Javascript
jQuery实现扑克正反面翻牌效果
2017/03/10 Javascript
Angular中ng-bind和ng-model的区别实例详解
2017/04/10 Javascript
详解webpack2+node+react+babel实现热加载(hmr)
2017/08/24 Javascript
详解为Bootstrap Modal添加拖拽的方法
2018/01/05 Javascript
vue cli升级webapck4总结
2018/04/04 Javascript
Vue-不允许嵌套式的渲染方法
2018/09/13 Javascript
详解Vue.js 作用域、slot用法(单个slot、具名slot)
2019/10/15 Javascript
jQuery实现简单弹幕制作
2020/12/10 jQuery
微信小程序实现购物车小功能
2020/12/30 Javascript
Vue 集成 PDF.js 实现 PDF 预览和添加水印的步骤
2021/01/22 Vue.js
浅谈Tensorflow模型的保存与恢复加载
2018/04/26 Python
Python文本统计功能之西游记用字统计操作示例
2018/05/07 Python
详解python分布式进程
2018/10/08 Python
对python中list的拷贝与numpy的array的拷贝详解
2019/01/29 Python
Python中类的创建和实例化操作示例
2019/02/27 Python
Python3 venv搭建轻量级虚拟环境的步骤(图文)
2019/08/09 Python
pytorch中的transforms模块实例详解
2019/12/31 Python
如何在mac下配置python虚拟环境
2020/07/06 Python
python实现快速文件格式批量转换的方法
2020/10/16 Python
Python Selenium破解滑块验证码最新版(GEETEST95%以上通过率)
2021/01/29 Python
调用HTML5的Canvas API绘制图形的快速入门指南
2016/06/17 HTML / CSS
软件配置管理有什么好处
2015/04/15 面试题
日语专业推荐信
2013/11/12 职场文书
市政施工员自我鉴定
2014/01/15 职场文书
竞选大队干部演讲稿
2014/09/11 职场文书
检查机关领导群众路线教育实践活动个人整改措施
2014/10/28 职场文书
百万英镑观后感
2015/06/09 职场文书
浅谈redis的过期时间设置和过期删除机制
2022/03/18 MySQL
《异世界四重奏》剧场版6月10日上映 PV视觉图原创角色发表
2022/03/20 日漫
PostgreSQL之连接失败的问题及解决
2023/05/08 PostgreSQL