ホームページ  >  記事  >  バックエンド開発  >  PHP WeChat で一時的なマテリアルを取得する方法 (コード付き)

PHP WeChat で一時的なマテリアルを取得する方法 (コード付き)

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

この記事の内容は、PHP WeChat で一時資料を取得する方法 (コード付き) に関するもので、一定の参考価値がありますので、困っている友人は参考にしていただければ幸いです。

注: 1: WeChat バックグラウンドでのメディア ファイルの保存期間は 3 日間です。つまり、media_id は 3 日後に期限切れになります。

2: 一時マテリアル media_id は再利用可能です。

パス パスが php5.3 未満の場合は、@ を付けてテキストの絶対パスを追加する必要があります。5.3 以降のバージョンでは、新しいcurlFile() クラスを使用して絶対アドレスを取得する必要があります

$path = new CURLFile(realpath('G:/xampp/htdocs/wx/app/zan.jpg'));
$path = $path->name;//绝对路径
$type = 'images';//thumb
$res = $this->upload_media('image',$path);//获取到素材的media_id,有效期3天
$media_id = $res->media_id;
//以下是获取临时素材url
$url = $this->get_media($media_id);//获取到临时素材的url
    public function upload_media($type,$path)
    {
 
       $url = 
'https://api.weixin.qq.com/cgi-bin/media/upload?access_token=' . 
$this->get_access_token() . '&type=' . $type;
        $res = $this->upload($url, array('media' => '@'.$path));
        // 判断是否调用成功
        return $res;
    }  
    public function get_media($media_id)
    {
 
       return 
'https://api.weixin.qq.com/cgi-bin/media/get?access_token=' . 
$this->get_access_token() . '&media_id=' . $media_id;
    }
 /*
    * 上传图片。图文专用
     */
    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;  
          
    }

関連する推奨事項:

php WeChat 開発アップロード一時マテリアル、PHP 開発マテリアル_PHP チュートリアル

WeChat アップロード一時マテリアル コード例

以上がPHP WeChat で一時的なマテリアルを取得する方法 (コード付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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