首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >php POST 图片到远程服务器

php POST 图片到远程服务器

作者头像
友儿
发布2022-09-11 12:21:58
发布2022-09-11 12:21:58
1.1K0
举报
文章被收录于专栏:友儿友儿
代码语言:javascript
复制
 /**
     * POST 图片到远程服务器
     * 
     * @param string $uri 请求的url地址
     * @param array $params 格外参数
     * custom 额外参数
     * ['file' => '文件路径', 'mime' => '文件类型', 'postname' => "上传的文件名称",'custom' => ['key' => value]]
     *
     * @return mixed
     */
    public static function getUploadFile($uri, $params = [])
    {
        if (isset($params['postname']) && isset($params['file'])) {
            if (class_exists('\CURLFile')) {
                $chFile = new \CURLFile(realpath($params['file']));
                $chFile->mime = isset($params['mime']) ? $params['mime'] : getimagesize($params['file'])['mime'];
                $chFile->postname = $params['postname'];
                $data['file'] = $chFile;
            } else {
                $data['file'] = "@" . realpath($params['file']) . ";type={$params['mime']}";
            }
            if (isset($params['custom']) && !empty($params['custom'])) {
                $custom = $params['custom'];
                while ($row = current($custom)) {
                    $key = key($custom);
                    $data[$key] = $row;
                    next($custom);
                }
            }
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_URL, $uri);
            curl_setopt($ch, CURLOPT_POST, 1);//post方式
            curl_setopt($ch, CURLOPT_HEADER, 0);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
            $output = curl_exec($ch);
            curl_close($ch);
            return $output;
        }
        return false;
    }
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档