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