二维码生成后,可以在浏览器中另存为本地图片,但如果有很多二维码,则用程序下载比较方便。
下面使用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 }
这样在程序当前目录就会生成一个包含二维码的图片文件。