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 @ 2021-11-03 09:45  热心居民  阅读(207)  评论(0)    收藏  举报