php 生成二維碼圖片
(1)下載類庫文件
php類庫PHP QR Code,地址:http://phpqrcode.sourceforge.net/。
(2)放到項目里
把下載的文件解壓后有個phpqrcode.php文件,復制放到項目里,
我的開發框架是ThinkPHP3.2,放到了Vendor目錄下。
(3)調用測試
生成二維碼主要用到類中的png()方法,
第一種,直接輸出二維碼圖片到瀏覽器:
$qrcode_content = 'hello qrcode';//二維碼的內容 Vendor('phpqrcode'); $cls = new \QRcode(); ob_clean(); $cls::png($qrcode_content);
第二種,生成二維碼圖片並保存后返回圖片鏈接:
$saveDir = '要保存的目錄地址'; if(!is_dir($saveDir)){
mkdir($basedir);
chmod($basedir,0777);
} if(is_dir($saveDir)){ $filename = $saveDir . '/qrcode.png'; $qrcode_content = 'hello qrcode';//二維碼的內容 Vendor('phpqrcode'); $cls = new \QRcode(); ob_clean(); $cls::png($qrcode_content,$filename); echo $filename; }else{ exit('目錄創建失敗'); }
總結:
1、兩種方式的區別就是調用png()方法時,第二個參數傳遞圖片保存路徑時,就可以保存圖片。
2、在顯示圖片時,如果不能顯示,就使用ob_clean()方法。
3、在引入phpqrcode類時,類里沒有寫命名空間時,實例化時,需要使用斜杠\。
4、保存圖片時,需要先判斷保存的目錄是否存在,不存在要創建。
5、mkdir($saveDir,0777)和mkdir($basedir);chmod($basedir,0777);是不一樣的,后者的目錄有777權限。