zoukankan      html  css  js  c++  java
  • PHP img_sec_check url

    网络图片,直接丢给img_sec_check

    直接上源码

        public function img_sec_check($media){
            $media = file_get_contents($media);
            if (empty($media)) {
                return true;
            }
            $farce = 0;//强制更新token
            $retry = 0;
            $num = 0;
            $url = 'https://api.weixin.qq.com/wxa/img_sec_check?access_token=';  
            $boundary="----".md5(date);
            $formdata = "--" . $boundary ."
    ";
            $formdata .= "Content-Disposition: form-data; name="upload"; filename="upload.jpg"
    ";
            $formdata .= "Content-type: application/octet-stream
    
    ";
            $formdata .= $media."
    ";
            $formdata .= "--" . $boundary . "
    "."--
    
    ";
            do {
                $token = $this->getToken($farce);
                $curl = curl_init();
                curl_setopt($curl, CURLOPT_URL, $url . $token);
                curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
                curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
                curl_setopt($curl, CURLOPT_POST, 1);
                curl_setopt($curl, CURLOPT_POSTFIELDS, $formdata);
                curl_setopt($curl, CURLOPT_HTTPHEADER, [
                            "Content-Type: multipart/form-data; boundary=".$boundary,
                            "Content-Length: " . strlen($formdata)
                        ]);
                curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
                $result = curl_exec($curl);
                curl_close($curl);
                $resultObj = json_decode($result);
                var_dump($url . $token);
                var_dump($resultObj);
                $num++;
                //token过期
                if ($resultObj->errcode == 40001) {
                    $farce = 1;
                    $retry = 1;
                }else if ($resultObj->errcode == -1) {//服务器返回忙
                    $retry = 1;
                } else if($resultObj->errcode == 0){
                    $farce = 0;
                    $retry = 0;
                }
            } while ($retry && $num < 5);
            if ($resultObj->errcode != 0) {
                return false;
            }
            return true;
        }
  • 相关阅读:
    vue 子页面,向父页面 传值...
    pre 标签 防止 其撑开 div...
    Vue 父页面 值传递 不到 子组件....
    Mysql tips 功能...
    mysql 配置utf8 编码,支持 emoji 方法!!!
    DataGrip 使用--方法-..../
    百度地图 api bug 解决.......
    民生银行信用卡销卡指南
    古董留念
    Microsoft Office 2010 Service Pack 2 发布更新
  • 原文地址:https://www.cnblogs.com/wangjiayuan/p/12631909.html
Copyright © 2011-2022 走看看