博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
curl 向远程服务器传输file文件
阅读量:5900 次
发布时间:2019-06-19

本文共 2087 字,大约阅读时间需要 6 分钟。

public function upload(){    //获取上传文件信息,文件名称以自己实际上传文件名称为准    $fileinfo = $_FILE['filename'];    //请求参数,依据商户自己的参数为准    $requestParam['version'] = '10';    $requestParam['cmd_id'] = '122';    $requestParam['mer_cust_id'] = '666666';    $requestParam['attach_file'] = new \CURLFile($fileinfo['tmp_name'],$fileinfo['type'],$fileinfo['name']);    //发起请求    $param = [        'requestData'  => [            'cmd_id' => $requestParam['cmd_id'],            'mer_cust_id' => $requestParam['mer_cust_id'],            'version' => $requestParam['version'],            'attach_file' => $requestParam['attach_file'],        ],        'headers' => ['Content-type' => 'multipart/form-data;charset=UTF-8']    ];    $is_upload = 1;    $requestRes = $this->request($param,$is_upload);            return $requestRes ;}
private function request($param, $is_upload=0) {    // 请求接口所以参数初始化    $data = [        'url' => $this->apiUrl, // 接口 url        'requestData' => $is_upload ? $param['requestData'] : http_build_query($param['requestData']), // 请求接口参数        'headers' => $param['headers']    ];            //print_r($data); //debug 打印接口传输数据            $res = $this->httpPostRequest($data['url'], $data['headers'], $data['requestData']);    if (empty($res) || $res['info']['http_code'] != '200') {        $this->json_ret('20006','http request error',[$res['error']]);    }            return [        'status' => $res['info']['http_code'],        'body' => $res['body']    ];}
//curl post 请求 private function httpPostRequest($url = '', $header = array(), $requestData = array()) {    $curl = curl_init();    curl_setopt($curl, CURLOPT_HTTPHEADER, $header);    curl_setopt($curl, CURLOPT_URL, $url);    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);    curl_setopt($curl, CURLOPT_POST, true);    curl_setopt($curl, CURLOPT_POSTFIELDS, $requestData);    $res = curl_exec($curl);    $info = curl_getinfo($curl);    $error = curl_error($curl);    curl_close($curl);    return [        'body' => $res,        'info' => $info,        'error' => $error,    ];}

 

转载于:https://www.cnblogs.com/starfish29/p/curl.html

你可能感兴趣的文章
iOS添加快捷方式到桌面
查看>>
股票图形入门
查看>>
基于数据库开发常用方法逻辑总结
查看>>
[工具]iostat
查看>>
Xcode 8带来的新特性和坑
查看>>
【51NOD-0】1106 质数检测
查看>>
我理解的MVC
查看>>
TF基础2
查看>>
[译] WebSockets 与长轮询的较量
查看>>
前端mongo聚合笔记
查看>>
SQl 事务 异常和游标
查看>>
JS学习笔记(二)JS数据七种类型概述及类型转换
查看>>
javaMail
查看>>
Xcode+OpenCV3.4.0 折腾(4)
查看>>
黑马程序员---基础加强-----------------第三天
查看>>
上传项目到Github
查看>>
规模化落地云原生,阿里云即将重磅亮相 KubeCon China
查看>>
Android 设置app 启动
查看>>
jQuery 封装的ajax
查看>>
100c之17:平分七筐鱼
查看>>