php生成二维码的几种方式

php生成二维码的几种方式,都经测试通过
1.利用google开放接口
 get方法实现方式一:
 

PHP Code 复制内容到剪贴板
  1. //api参数简要说明  
  2. //choe为编码,默认为utf-8  
  3. //数据大于2K请用post进行发送  
  4. /* 
  5. chld错误处理 
  6. L:默认,允许恢复7%的数据丢失 
  7. M:允许15% 
  8. Q:允许25% 
  9. H:允许30% 
  10. */  
  11. $urlToEncode="http://9streets.cn";  
  12. generateQRfromGoogle($urlToEncode);  
  13. function generateQRfromGoogle($chl,$widhtHeight ='150',$EC_level='L',$margin='0')  
  14. {  
  15.  $url = urlencode($url);  
  16.  echo '<img src="http://chart.apis.google.com/chart?chs='.$widhtHeight.'x'.$widhtHeight.'&cht=qr&chld='.$EC_level.'|'.$margin.'&chl='.$chl.'" alt="QR code" widhtHeight="'.$size.'" widhtHeight="'.$size.'"/>';  
  17. }  

post方法实现方式:
 

PHP Code 复制内容到剪贴板
  1. $width = 300;  
  2. $height = 300;  
  3. $string = "测试啦啦啦啦啦";  
  4. function qrcode($width,$height,$string)  
  5. {  
  6.     $post_data = array();  
  7.     $post_data['cht'] = 'qr';  
  8.     $post_data['chs'] = $width."x".$height;  
  9.     $post_data['chl'] = $string;  
  10.     $post_data['choe'] = "UTF-8";  
  11.     $url = "http://chart.apis.google.com/chart";  
  12.     $data_Array = array();  
  13.     foreach($post_data as $key => $value)  
  14.     {  
  15.         $data_Array[] = $key.'='.$value;  
  16.     }  
  17.     $data = implode("&",$data_Array);  
  18.     //echo $data;  
  19.     $ch = curl_init();  
  20.     curl_setopt($ch, CURLOPT_POST, 1);  
  21.     curl_setopt($ch, CURLOPT_HEADER, 0);  
  22.     curl_setopt($ch, CURLOPT_URL, $url);      
  23.     curl_setopt($ch, CURLOPT_POSTFIELDS,$data);  
  24.     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  
  25.     $result = curl_exec($ch);  
  26.     
  27.     //echo "<img src =\"data:image/png;base64,".base64_encode($result)."\" >"; 注意,不写header的写法  
  28.   
  29.      return $result;  
  30. }  
  31.   
  32. header("Content-type:image/png");  
  33. echo qrcode($width,$height,$string);  

2.利用php类库PHP QR Code来实现
首先下载类库包
地址:http://phpqrcode.sourceforge.net/
下载:http://sourceforge.net/projects/phpqrcode/
 

PHP Code 复制内容到剪贴板
  1. <?  
  2. include "./phpqrcode/phpqrcode.php";  
  3. $value="http://www.weste.net";  
  4. $errorCorrectionLevel = "L";  
  5. $matrixPointSize = "4";  
  6. QRcode::png($value, false, $errorCorrectionLevel$matrixPointSize);  
  7. exit;  
  8. ?>  

你可能感兴趣的:(PHP,二维码)