這篇文章帶給大家的內容是關於php微信的新增永久素材的詳細介紹(基本流程),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
微信的新增永久素材,最重要的是圖文素材,基本流程是如下:
取得access_token;
上傳封面素材,取得永久素材的media_id,可以是images或thumb型別都可以
上傳圖文中的圖片,取得圖片的騰訊網域的url
上傳永久圖文素材
第一步就不說了,curl的就可以解決。
第二步驟取得永久素材跟上篇獲取臨時id大同小異,等下會吧代碼貼出來
第三步獲取圖文中的圖片url,主要也只是curl,和取得素材的流程差不多
第四步就是最重要,不過有了神器就簡單了
#程式碼基本上就是如下幾個封裝好的方法,圖片位址可以參考上篇的位址,其他都是很簡單的
/* * 新增永久图文 */ 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微信的新增永久素材的詳細介紹(基本流程)的詳細內容。更多資訊請關注PHP中文網其他相關文章!