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+XML 制作简单的留言本 图文教程
Nov 02 PHP
PHP Session变量不能传送到下一页的解决方法
Nov 27 PHP
php 数组排序 array_multisort与uasort的区别
Mar 24 PHP
php上传apk后自动提取apk包信息的使用(示例下载)
Apr 26 PHP
关于php 接口问题(php接口主要也就是运用curl,curl函数)
Jul 01 PHP
一个漂亮的php验证码类(分享)
Aug 06 PHP
PHP关于IE下的iframe跨域导致session丢失问题解决方法
Oct 10 PHP
thinkphp缓存技术详解
Dec 09 PHP
PHP提示Warning:phpinfo() has been disabled函数禁用的解决方法
Dec 17 PHP
PDO防注入原理分析以及注意事项
Feb 25 PHP
解决tp5在nginx下修改配置访问的问题
Oct 16 PHP
Linux系统下安装PHP7.3版本
Jun 26 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循环获取GET和POST值的代码
2008/04/09 PHP
PHP中的strtr函数使用介绍(str_replace)
2011/10/20 PHP
PHP+MYSQL实现用户的增删改查
2015/03/24 PHP
PHP中的类型提示(type hinting)功能介绍
2015/07/01 PHP
Thinkphp 中 distinct 的用法解析
2016/12/14 PHP
PHP性能测试工具xhprof安装与使用方法详解
2018/04/29 PHP
javascript 字符 Escape,encodeURI,encodeURIComponent
2009/07/09 Javascript
jQuery .attr()和.removeAttr()方法操作元素属性示例
2013/07/16 Javascript
js获得地址栏?问号后参数的方法
2013/08/08 Javascript
一个JavaScript的求爱小特效
2014/05/09 Javascript
Javascript学习笔记之 函数篇(二) : this 的工作机制
2014/06/24 Javascript
纯js实现手风琴效果
2020/04/17 Javascript
JS+CSS3实现超炫的散列画廊特效
2016/07/16 Javascript
从零学习node.js之简易的网络爬虫(四)
2017/02/22 Javascript
详解JavaScript栈内存与堆内存
2019/04/04 Javascript
vue 动态添加的路由页面刷新时失效的原因及解决方案
2021/02/26 Vue.js
详解Python3中yield生成器的用法
2015/08/20 Python
Python中的字符串查找操作方法总结
2016/06/27 Python
微信跳一跳python辅助脚本(总结)
2018/01/11 Python
Django给admin添加Action的步骤详解
2019/05/01 Python
Dlib+OpenCV深度学习人脸识别的方法示例
2019/05/14 Python
python字符串Intern机制详解
2019/07/01 Python
pytorch 输出中间层特征的实例
2019/08/17 Python
浅谈Python_Openpyxl使用(最全总结)
2019/09/05 Python
Python 利用邮件系统完成远程控制电脑的实现(关机、重启等)
2019/11/19 Python
Django ORM实现按天获取数据去重求和例子
2020/05/18 Python
GUESS西班牙官方网上商城:美国服饰品牌
2017/03/15 全球购物
水上运动奥特莱斯:Wasterports Outlet
2018/08/08 全球购物
Myholidays美国:在线旅游网站
2019/08/16 全球购物
托管代码(Managed Code)和非托管代码(Unmanaged Code)有什么区别
2014/09/29 面试题
Ajax实现页面无刷新留言效果
2021/03/24 Javascript
期末自我鉴定
2014/01/23 职场文书
镇党委书记群众路线整改措施思想汇报
2014/10/13 职场文书
小学大队委竞选口号
2015/12/25 职场文书
浅谈Python3中datetime不同时区转换介绍与踩坑
2021/08/02 Python
Python matplotlib绘制条形统计图 处理多个实验多组观测值
2022/04/21 Python