Heim  >  Artikel  >  Backend-Entwicklung  >  So erhalten Sie temporäre Materialien in PHP WeChat (mit Code)

So erhalten Sie temporäre Materialien in PHP WeChat (mit Code)

不言
不言Original
2018-08-20 15:40:252980Durchsuche

Der Inhalt dieses Artikels befasst sich mit der Methode zum Erhalten temporärer Materialien in PHP WeChat. Ich hoffe, dass er für Freunde hilfreich ist.

Hinweis: 1: Die Speicherzeit von Mediendateien im WeChat-Hintergrund beträgt 3 Tage, d. h. die media_id läuft nach 3 Tagen ab.

2: Das temporäre Material media_id ist wiederverwendbar.

Wenn der Pfad unter php5.3 liegt, müssen Sie @ mitbringen und den Text „Absoluter Pfad“ hinzufügen. Für Versionen über 5.3 müssen Sie die neue Klasse „curlFile()“ verwenden, um die absolute Adresse zu erhalten

$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;  
          
    }

Verwandte Empfehlungen:

PHP WeChat-Entwicklung temporäre Materialien hochladen, PHP-Entwicklungsmaterialien_PHP-Tutorial

WeChat temporäres Material hochladen Beispielcode

Das obige ist der detaillierte Inhalt vonSo erhalten Sie temporäre Materialien in PHP WeChat (mit Code). 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