thinkphp5 curl 对接微信接口图片鉴黄

复制代码
//图片鉴黄
    public function stopimg($openid,$secret){
        $file = request()->file('file');
        
        // 微信地址
        $url='https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.$openid.'&secret='.$ser;
        // 请求头数据类型设置
        // $headerArray =array("Content-type:application/x-www-form-urlencoded;","Accept:application/json");
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); 
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        
        $output = curl_exec($ch);
        curl_close($ch);
        $output =substr($output,17,157);
        
        if($output){
            $path = $_FILES['file']['tmp_name'];
            $url = "https://api.weixin.qq.com/wxa/img_sec_check?access_token=".$output;
            $file_data = array("media" => new \CURLFile($path));
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_URL, $url);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
            curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
            curl_setopt($ch, CURLOPT_POST, 1);
            curl_setopt($ch, CURLOPT_POSTFIELDS, $file_data);
            $output = curl_exec($ch); //发送请求获取结果
            curl_close($ch); //关闭会话
            $err = json_decode($output,true);
            $code = $err['errcode'];
            if($code == 0){
                // 图片存储的路径,请根据自己的路径进行更改
                $info = $file->move(ROOT_PATH . 'public' . DS . 'uploads' . DS . 'api' . DS . 'image');
                if($info){
                    // 获取图片的路径,请根据自己的路径进行更改
                    return json_encode(array("state" => 1, 'msg' => '上传成功', "src" => DS . 'uploads' . DS . 'api' . DS . 'image' . DS . $info->getSaveName()));
                }else{
                    return json_encode(array("state" => 2, 'msg' => '上传失败'));
                }
            }else{
                return json_encode(array("state" => $code, 'msg' => $err['errmsg']));
            }
        }else{
            return  json(['code' => "0",'msg'=>"微信接口访问失败"]);
        }
    }
复制代码

 

posted @   热心居民  阅读(192)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示