PHP 微信公眾號傳送模版訊息
阿新 • • 發佈:2019-02-06
public function index() { require_once VENDOR_PATH."jssdk/jssdk.php"; $appid = ''; //微信公眾號後臺獲取 $appsecret = ''; //微信公眾號後臺獲取 $access_token = $jssdk->getAccessToken(); $jssdk = new \JSSDK($appid,$appsecret); return $res = $this->sendTemplets($access_token,$openid); } private function sendTemplets($access_token,$openid) { $data['touser'] =$openid; $data['template_id'] = 'o6G9CmD1JI0cm9RK_wCEIgmu4FfnWCD7vPBwY3ncmoM';//模版id(微信公眾號後臺獲取) $protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://"; $data['url'] = $protocol.$_SERVER['HTTP_HOST']."/index.php/Portal/Index/index";//跳轉連結 $data['data']['first']['value'] = '標題內容'; $data['data']['first']['color'] = '#06C'; $data['data']['keyword1']['value'] = '詳情1'; $data['data']['keyword1']['color'] = '#06C'; $data['data']['keyword2']['value'] = '詳情2'; $data['data']['keyword2']['color'] = '#06C'; $data['data']['keyword3']['value'] = '詳情3'; $data['data']['keyword3']['color'] = '#06C'; $data['data']['remark']['value'] = '結尾資訊'; $data['data']['remark']['color'] = '#06C'; $data = json_encode($data); //出現亂碼則開啟下面註釋 // $data=preg_replace("#\\\u([0-9a-f]{4})#ie", "iconv('UCS-2BE', 'UTF-8', pack('H4', '\\1'))", $data); $url="https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=".$access_token; $this->post_by_curl($url,$data); } private function post_by_curl($url,$data) { $curl = curl_init();// 啟動一個CURL會話 curl_setopt($curl, CURLOPT_URL, $url); // 要訪問的地址 curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模擬使用者使用的瀏覽器(報錯則刪掉) curl_setopt($curl, CURLOPT_POST, true); // 傳送一個常規的Post請求 curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的資料包 curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 設定超時限制防止死迴圈 curl_setopt($curl, CURLOPT_HEADER, true); // 顯示返回的Header區域內容 curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); // 獲取的資訊以檔案流的形式返回 curl_exec($curl); // 執行操作 }