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&amp;&amp;mysql)三
Oct 09 PHP
PHP新手上路(二)
Oct 09 PHP
php中global和$GLOBALS[]的分析之一
Feb 02 PHP
PHP自定义大小验证码的方法详解
Jun 07 PHP
解析PHP可变函数的经典用法
Jun 20 PHP
php获取远程图片体积大小的实例
Nov 12 PHP
laravel容器延迟加载以及auth扩展详解
Mar 02 PHP
php实现将上传word文件转为html的方法
Jun 03 PHP
PHP5.5.15+Apache2.4.10+MySQL5.6.20配置方法分享
May 06 PHP
PHP正则替换函数preg_replace()报错:Notice Use of undefined constant的解决方法分析
Feb 04 PHP
PHP生成加减算法方式的验证码实例
Mar 12 PHP
php array 转json及java 转换 json数据格式操作示例
Nov 13 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 split汉字
2009/06/05 PHP
PHP常用技巧总结(附函数代码)
2012/02/04 PHP
PHP中将网页导出为Word文档的代码
2012/05/25 PHP
php session_decode函数用法讲解
2019/05/26 PHP
如何取得中文输入的真实长度?
2006/06/24 Javascript
用js实现的检测浏览器和系统的函数
2009/04/09 Javascript
javaScript 简单验证代码(用户名,密码,邮箱)
2009/09/28 Javascript
javascript中使用正则表达式清理table样式的代码
2020/04/01 Javascript
纯javascript实现图片延时加载方法
2015/08/21 Javascript
详解js中构造流程图的核心技术JsPlumb(2)
2015/12/08 Javascript
AngularJS入门心得之directive和controller通信过程
2016/01/25 Javascript
多种jQuery绑定事件的实现方式
2016/06/13 Javascript
简单的js计算器实现
2016/10/26 Javascript
关于javascript事件响应的基础语法总结(必看篇)
2016/12/26 Javascript
jQuery实现弹幕效果
2017/02/17 Javascript
ES6新特性之函数的扩展实例详解
2017/04/01 Javascript
JQuery 又谈ajax局部刷新
2017/11/27 jQuery
JS实现图片居中悬浮效果
2017/12/25 Javascript
jQuery代码优化方法总结
2018/01/29 jQuery
Javascript中parseInt的正确使用方式
2018/10/17 Javascript
koa源码中promise的解读
2018/11/13 Javascript
node和vue实现商城用户地址模块
2018/12/05 Javascript
[08:53]DOTA2-DPC中国联赛 正赛 PSG.LGD vs LBZS 选手采访
2021/03/11 DOTA
python实现读取excel写入mysql的小工具详解
2017/11/20 Python
python 将md5转为16字节的方法
2018/05/29 Python
Python根据指定文件生成XML的方法
2020/06/29 Python
使用html2canvas将页面转成图并使用用canvas2image下载
2019/04/04 HTML / CSS
微软香港官网及网上商店:Microsoft HK
2016/09/01 全球购物
法国家具及室内配件店:home24
2017/01/21 全球购物
Baracuta官方网站:Harrington夹克,G9,G4,G10等
2018/03/06 全球购物
工商管理专业应届生求职信
2013/11/04 职场文书
计算机应用职专应届生求职信
2013/11/12 职场文书
装修五一活动策划案
2014/01/23 职场文书
群众路线学习笔记范文
2014/11/06 职场文书
暑期实践个人总结
2015/03/06 职场文书
SpringBoot使用AOP实现统计全局接口访问次数详解
2022/06/16 Java/Android