好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

PHP生成二维码,使用PHP QR Code二维码生成类库 - p

PHP生成二维码,使用PHP QR Code二维码生成类库

PHP生成二维码例子我们使用到了PHP QR Code类库来生成了,有了它我们生成二维码就像echo a这么简单了,下面来给各位介绍一下吧.

以前使用Google提供了较为完善的二维码生成接口,调用API接口很简单,但是现在由于访问google出现问题,需要使用其他的方法生成二维码.

PHP QR Code是一个PHP二维码生成类库,利用它可以轻松生成二维码,官网提供了下载和多个演示demo.

官网地址:http://phpqrcode.sourceforge.net

下载官网提供的类库后,只需要使用phpqrcode.php就可以生成二维码了,当然您的PHP环境必须开启支持GD2.

qrlib.php 是完整版,官方的调用实例,代码如下:

QRcode::png('code data text', 'filename.png'); // creates file

QRcode::png('some othertext 1234'); // creates code image and outputs it directly into browser

phpqrcode.php 是合并版,只有一个文件,但生成速度较慢且不太准确,使用方法.

phpqrcode.php提供了一个关键的png()方法,代码如下:

public   static   function  png( $text ,  $outfile =false,  $level =QR_ECLEVEL_L,  $size =3,  $margin =4,    $saveandprint =false)    {        $enc  = QRencode::factory( $level ,  $size ,  $margin );        return   $enc ->encodePNG( $text ,  $outfile ,  $saveandprint =false);   }  

参数$text表示生成二位的的信息文本,参数$outfile表示是否输出二维码图片文件,默认否,参数$level表示容错率,也就是有被覆盖的区域还能识别,分别是 L(QR_ECLEVEL_L,7%),M(QR_ECLEVEL_M,15%),Q(QR_ECLEVEL_Q,25%),H(QR_ECLEVEL_H,30%),参数$size表示生成图片大小,默认是3,参数$margin表示二维码周围边框空白区域间距值,默认是4,参数$saveandprint表示是否保存二维码并显示,默认是不保存显示.

include 'phpqrcode.php';

QRcode::png('http://mingzi.phpfensi.com'); 上面这段代码就输出了这张二维图

那么实际应用中,我们会在二维码的中间加上自己的LOGO,已增强宣传效果,先使用PHP QR Code生成一张二维码图片,然后再利用php的image相关函数,将事先准备好的logo图片加入到刚生成的原始二维码图片中间,然后重新生成一张新的二维码图片,当然这个时候选择容错率H比较好,代码如下:

<?php  include   'phpqrcode.php' ;    $value  =  'http://www.phpfensi.com' ; //二维码内容   $qr_eclevel  =  'H' ; //容错级别    $picsize  = 6; //生成图片大小   QRcode::png( $value ,  'qrcode.png' ,  $qr_eclevel ,  $picsize ); //生成二维码图片   $logo  =  'logo.png' ; //准备好的logo图片    $QR  =  'qrcode.png' ; //已经生成的原始二维码图        if  ( $logo  !== FALSE) {        $QR  = imagecreatefromstring( file_get_contents ( $QR ));        $logo  = imagecreatefromstring( file_get_contents ( $logo ));        $QR_width  = imagesx( $QR ); //二维码图片宽度         $QR_height  = imagesy( $QR ); //二维码图片高度         $logo_width  = imagesx( $logo ); //logo图片宽度         $logo_height  = imagesy( $logo ); //logo图片高度         $logo_qr_width  =  $QR_width  / 5;        $scale  =  $logo_width / $logo_qr_width ;        $logo_qr_height  =  $logo_height / $scale ;        $from_width  = ( $QR_width  -  $logo_qr_width ) / 2;        //重新组合图片并调整大小        imagecopyresampled( $QR ,  $logo ,  $from_width ,  $from_width , 0, 0,  $logo_qr_width ,         $logo_qr_height ,  $logo_width ,  $logo_height );   }  //开源软件:phpfensi.com   //输出图片    imagepng( $QR ,  'myxzy.png' );   echo   '<img src="myxzy.png">' ;   ?> 

好了这样就生成了我们要的二维码图片了,今天由于时间有限就不介绍了,下次介绍一个利用它生成网址wap版的地址.

查看更多关于PHP生成二维码,使用PHP QR Code二维码生成类库 - p的详细内容...

  阅读:44次