ホームページ  >  記事  >  バックエンド開発  >  php WeChatでの新しい永久マテリアルの詳細な紹介(基本プロセス)

php WeChatでの新しい永久マテリアルの詳細な紹介(基本プロセス)

不言
不言オリジナル
2018-08-20 15:45:153262ブラウズ

この記事では、PHP WeChat の新しい永久マテリアルについて詳しく紹介 (基本プロセス) します。一定の参考価値があります。必要な友人は参照できます。お役に立てれば幸いです。

WeChat の新しい永続的なマテリアル、最も重要なものはグラフィック マテリアルです。基本的なプロセスは次のとおりです:

  1. Get access_token;

  2. 表紙素材をアップロードし、永続素材の media_id を取得します。画像またはサムタイプにすることができます。

  3. 本文内の画像をアップロードし、その URL を取得します。画像の Tencent ドメイン名

  4. 永続的なグラフィックとテキスト素材をアップロードします

最初のステップには触れません。curl で解決できます。 。

永久マテリアルを取得する 2 番目のステップは、一時 ID を取得する前の記事と同様です。後でコードを投稿します

3 番目のステップは、画像内の画像 URL を取得することですマテリアルを取得するプロセスはほぼ同じです。

4 番目のステップが最も重要ですが、アーティファクトを使用すると簡単です。

コードは基本的に次のとおりです。カプセル化されたメソッドに従うと、画像アドレスは前の記事のアドレスを参照できます。残りは非常に単純です

    /*
    * 新增永久图文
     */
    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;
        }
    }

関連する推奨事項:

永久マテリアルに関する関連する推奨事項

php の使用方法の詳細説明 WeChat インターフェイスを呼び出して永続的なマテリアルをアップロードします

以上がphp WeChatでの新しい永久マテリアルの詳細な紹介(基本プロセス)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。