讀古今文學網 > 微信公眾平台開發:從零基礎到ThinkPHP5高性能框架實踐 > 8.1.4 下載二維碼 >

8.1.4 下載二維碼

二維碼生成後,可以在瀏覽器中另存為本地圖片,但如果有很多二維碼,則用程序下載比較方便。

下面使用CURL獲取圖片的所有信息,並將圖片數據保存為一個文件。一個完整的下載代碼如下。


 1 $ticket = "gQHi8DoAAAAAAAAAASxodHRwOi8vd2VpeGluLnFxLmNvbS9xL0UweTNxNi1sdlA3Rkly
       RnNKbUFvAAIELdnUUgMEAAAAAA==";
 2 
 3 $url = "https:// mp.weixin.qq.com/cgi-bin/showqrcode?ticket=".urlencode($ticket);
 4 $imageInfo = downloadWeixinFile($url);
 5 
 6 $filename = "qrcode.jpg";
 7 $local_file = fopen($filename, 'w');
 8 if (false !== $local_file){
 9     if (false !== fwrite($local_file, $imageInfo["body"])) {
10         fclose($local_file);
11     }
12 }
13 
14 function downloadWeixinFile($url)
15 {
16     $ch = curl_init($url);
17     curl_setopt($ch, CURLOPT_HEADER, 0);    
18     curl_setopt($ch, CURLOPT_NOBODY, 0);    // 只取body頭
19     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
20     curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
21     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
22     $package = curl_exec($ch);
23     $httpinfo = curl_getinfo($ch);
24     curl_close($ch);
25     returnarray_merge(array('body' =>$package), array('header' =>$httpinfo)); 
26 }
  

這樣在程序當前目錄就會生成一個包含二維碼的圖片文件。