Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Einführung neuer permanenter Materialien in PHP WeChat (grundlegender Prozess)

Detaillierte Einführung neuer permanenter Materialien in PHP WeChat (grundlegender Prozess)

不言
不言Original
2018-08-20 15:45:153262Durchsuche

Der Inhalt dieses Artikels ist eine detaillierte Einführung (grundlegender Prozess) über die neuen permanenten Materialien von PHP WeChat. Ich hoffe, dass er für Sie hilfreich ist.

WeChats neue permanente Materialien, die wichtigsten sind grafische Materialien, der grundlegende Prozess ist wie folgt:

  1. Zugriffstoken erhalten

  2. Laden Sie das Covermaterial hoch und erhalten Sie die Medien-ID des permanenten Materials, bei dem es sich um Bilder oder Daumeneingaben handeln kann.

  3. Laden Sie das Bild im Text hoch und erhalten Sie die URL des Tencent Domainname des Bildes

  4. Permanente Grafik- und Textmaterialien hochladen

Ich werde nicht auf den ersten Schritt eingehen, Curl kann es lösen.

Der zweite Schritt zum Erhalten des permanenten Materials ähnelt dem vorherigen Artikel zum Erhalten der temporären ID. Den Code werde ich später veröffentlichen

Der dritte Schritt besteht darin, die Bild-URL im Bild zu erhalten und Text, der hauptsächlich aus Locken besteht, und Der Prozess zum Erhalten von Materialien ist fast der gleiche

Der vierte Schritt ist der wichtigste, aber mit dem Artefakt ist es einfach

Der Code ist im Grunde Die folgenden gekapselten Methoden finden Sie unter der Adresse im vorherigen Artikel. Alles andere ist sehr einfach.

    /*
    * 新增永久图文
     */
    public function addEver_media($json){
        $url = "https://api.weixin.qq.com/cgi-bin/material/add_news?access_token=".$this->get_access_token();
        $res = $this->post($url, $json, 'json');
        // 异常处理: 获取时网络错误
        // 判断是否调用成功        
        return $res;
    }
  /*
    * 新增永久素材
     */
    public function addSucai($path,$type,$title="",$dis=""){
 
       $url = 
"https://api.weixin.qq.com/cgi-bin/material/add_material?access_token=".$this->get_access_token()."&type=".$type;
        if($type=="video"){
            $b = json_encode(array(
                    'title'=>$title,
                    'introduction'=>$dis
                ));
            $res = array(
                'media' => '@'.$path,
                'description'=>$b
                
            );
            $res = $this->upload($url, $res);
        }else{
            $res = $this->upload($url, array('media' => '@'.$path));
        }
        // 判断是否调用成功
        return $res;
    } 
    /*
    * 获取永久素材url
     */
    public function getSucaiURL($media){
        $url = "https://api.weixin.qq.com/cgi-bin/material/get_material?access_token=" .$this->get_access_token();
        $arr = json_encode(array('media_id' => $media));
        $res = $this->post($url, $arr, 'json');   
        // 判断是否调用成功
        return $res;
    }
    /*
     * 上传图片获取url
     */
    public function getPicURL($path){
        $url = "https://api.weixin.qq.com/cgi-bin/media/uploadimg?access_token=" .$this->get_access_token() ;
        $res = $this->upload($url, array('media' => '@'.$path));    
        // 判断是否调用成功
        return $res;
    }
  /*
    * 上传图片。图文专用
     */
    public static function upload($url, $filedata) {  
        $curl = curl_init ();  
        if (class_exists ( '/CURLFile' )) {//php5.5跟php5.6中的CURLOPT_SAFE_UPLOAD的默认值不同  
            curl_setopt ( $curl, CURLOPT_SAFE_UPLOAD, true );  
        } else {  
            if (defined ( 'CURLOPT_SAFE_UPLOAD' )) {  
                curl_setopt ( $curl, CURLOPT_SAFE_UPLOAD, false );  
            }  
        }  
        curl_setopt ( $curl, CURLOPT_URL, $url );  
        curl_setopt ( $curl, CURLOPT_SSL_VERIFYPEER, FALSE );  
        curl_setopt ( $curl, CURLOPT_SSL_VERIFYHOST, FALSE );  
        if (! empty ( $filedata )) {  
            curl_setopt ( $curl, CURLOPT_POST, 1 );  
            curl_setopt ( $curl, CURLOPT_POSTFIELDS, $filedata );  
        }  
        curl_setopt ( $curl, CURLOPT_RETURNTRANSFER, 1 );  
        $output = curl_exec ( $curl );  
        curl_close ( $curl );  
        return $output;  
          
    }
    public function post($url, $fields, $data_type='text')
    {
        $cl = curl_init();
        if(stripos($url, 'https://') !== FALSE) {
            curl_setopt($cl, CURLOPT_SSL_VERIFYPEER, FALSE);
            curl_setopt($cl, CURLOPT_SSL_VERIFYHOST, FALSE);
            curl_setopt($cl, CURLOPT_SSLVERSION, 1);
        }
        curl_setopt($cl, CURLOPT_URL, $url);
        curl_setopt($cl, CURLOPT_RETURNTRANSFER, 1 );
        curl_setopt($cl, CURLOPT_POST, true);        
        curl_setopt($cl, CURLOPT_POSTFIELDS, $fields);
        $content = curl_exec($cl);
        $status = curl_getinfo($cl);
        curl_close($cl);
        if (isset($status['http_code']) && $status['http_code'] == 200) {
            if ($data_type == 'json') {
                $content = json_decode($content);
            }
            return $content;
        } else {
            return FALSE;
        }
    }

Verwandte Empfehlungen für dauerhafte Materialien


Detaillierte Erklärung der Verwendung von PHP. Rufen Sie die WeChat-Schnittstelle auf, um permanente Materialien hochzuladen

Das obige ist der detaillierte Inhalt vonDetaillierte Einführung neuer permanenter Materialien in PHP WeChat (grundlegender Prozess). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn