二維碼生成後,可以在瀏覽器中另存為本地圖片,但如果有很多二維碼,則用程序下載比較方便。
下面使用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 }
這樣在程序當前目錄就會生成一個包含二維碼的圖片文件。