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 18 PHP
PHP 替换模板变量实现步骤
Aug 24 PHP
用PHP将数据导入到Foxmail的实现代码
Sep 05 PHP
PHP+Mysql+jQuery实现发布微博程序 jQuery篇
Oct 08 PHP
PHP中防止直接访问或查看或下载config.php文件的方法
Jul 07 PHP
PHP的autoload机制的实现解析
Sep 15 PHP
php使用post数组的键值创建同名变量并赋值的方法
Apr 03 PHP
php保存任意网络图片到服务器的方法
Apr 14 PHP
3种方法轻松处理php开发中emoji表情的问题
Jul 18 PHP
浅谈thinkphp5 instance 的简单实现
Jul 30 PHP
php简单中奖算法(实例)
Aug 15 PHP
Thinkphp5行为使用方法汇总
Dec 21 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
德生S2000南麂列岛台湾FM收听记录
2021/03/02 无线电
写一个用户在线显示的程序
2006/10/09 PHP
php实现的xml操作类
2016/01/15 PHP
PHP使用PHPExcel删除Excel单元格指定列的方法
2016/07/06 PHP
thinkPHP5.0框架命名空间详解
2017/03/18 PHP
PHP实现可添加水印与生成缩略图的图片处理工具类
2018/01/16 PHP
php实现将数组或对象写入到文件的方法小结【三种方法】
2020/04/22 PHP
PHP array_reverse() 函数原理及实例解析
2020/07/14 PHP
fireworks菜单生成器mm_menu.js在 IE 7.0 显示问题的解决方法
2009/10/20 Javascript
JavaScript 全角转半角部分
2009/10/28 Javascript
使用firebug进行调试javascript的示例
2013/12/16 Javascript
基于jQuery实现二级下拉菜单效果
2016/02/01 Javascript
js实现文字向上轮播功能
2017/01/13 Javascript
微信小程序 数据交互与渲染实例详解
2017/01/21 Javascript
Vue.js之slot深度复制详解
2017/03/10 Javascript
bootstrap的工具提示实例代码
2017/05/17 Javascript
浅谈Vue.js组件(二)
2019/04/09 Javascript
基于leaflet.js实现修改地图主题样式的流程分析
2020/05/15 Javascript
使用Python开发SQLite代理服务器的方法
2018/12/07 Python
python进行文件对比的方法
2018/12/24 Python
将python图片转为二进制文本的实例
2019/01/24 Python
Django给admin添加Action的步骤详解
2019/05/01 Python
Python批量生成幻影坦克图片实例代码
2019/06/04 Python
TensorFlow——Checkpoint为模型添加检查点的实例
2020/01/21 Python
python数据预处理 :样本分布不均的解决(过采样和欠采样)
2020/02/29 Python
Jupyter Notebook输出矢量图实例
2020/04/14 Python
Eclipse面试题
2014/03/22 面试题
HR求职自荐信范文
2014/06/21 职场文书
群众路线教育实践活动调研报告
2014/11/03 职场文书
求职自我评价范文
2015/03/09 职场文书
重温入党誓词主持词
2015/06/29 职场文书
用Python制作灯光秀短视频的思路详解
2021/04/13 Python
详解RedisTemplate下Redis分布式锁引发的系列问题
2021/04/27 Redis
mysql中数据库覆盖导入的几种方式总结
2022/03/25 MySQL
搭建Yolov5服务器
2022/04/30 Servers
Go语言测试库testify使用学习
2022/07/23 Golang