`
天梯梦
  • 浏览: 13747590 次
  • 性别: Icon_minigender_2
  • 来自: 洛杉矶
社区版块
存档分类
最新评论

使用PHP生成二维码

 
阅读更多

随着科技的进步,二维码应用领域越来越广泛,本站之前已有文章介绍通过使用jQuery插件来生成二维码,今天我给大家分享下如何使用PHP生成二维码,以及如何生成中间带LOGO图像的二维码。

 

利用Google API生成二维码

 

Google提供了较为完善的二维码生成接口,调用API接口很简单,以下是调用代码:

$urlToEncode="http://www.helloweba.com"; 
generateQRfromGoogle($urlToEncode); 
/** 
 * google api 二维码生成【QRcode可以存储最多4296个字母数字类型的任意文本,具体可以查看二维码数据格式】 
 * @param string $chl 二维码包含的信息,可以是数字、字符、二进制信息、汉字。 
 不能混合数据类型,数据必须经过UTF-8 URL-encoded 
 * @param int $widhtHeight 生成二维码的尺寸设置 
 * @param string $EC_level 可选纠错级别,QR码支持四个等级纠错,用来恢复丢失的、读错的、模糊的、数据。 
 *                            L-默认:可以识别已损失的7%的数据 
 *                            M-可以识别已损失15%的数据 
 *                            Q-可以识别已损失25%的数据 
 *                            H-可以识别已损失30%的数据 
 * @param int $margin 生成的二维码离图片边框的距离 
 */ 
function generateQRfromGoogle($chl,$widhtHeight ='150',$EC_level='L',$margin='0') 
{ 
    $chl = urlencode($chl); 
    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="'.$widhtHeight.' 
    " widhtHeight="'.$widhtHeight.'"/>'; 
} 

 

 

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

 

PHP QR Code是一个PHP二维码生成类库,利用它可以轻松生成二维码,官网提供了下载和多个演示demo,查看地址:http://phpqrcode.sourceforge.net/

 

下载官网提供的类库后,只需要使用phpqrcode.php就可以生成二维码了,当然您的PHP环境必须开启支持GD2。 phpqrcode.php提供了一个关键的png()方法,其中参数$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表示二维码周围边框空白区域间距值;参数$saveandprint表示是否保存二维码并 显示。

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); 
} 

 

调用PHP QR Code非常简单,如下代码即可生成一张内容为"http://www.helloweba.com"的二维码.

include 'phpqrcode.php'; 
QRcode::png('http://www.helloweba.com'); 

 

那么实际应用中,我们会在二维码的中间加上自己的LOGO,已增强宣传效果。那如何生成含有logo的二维码呢?其实原理很简单,先使用PHP QR Code生成一张二维码图片,然后再利用php的image相关函数,将事先准备好的logo图片加入到刚生成的原始二维码图片中间,然后重新生成一张新 的二维码图片。

include 'phpqrcode.php';  
$value = 'http://www.helloweba.com'; //二维码内容 
$errorCorrectionLevel = 'L';//容错级别 
$matrixPointSize = 6;//生成图片大小 
//生成二维码图片 
QRcode::png($value, 'qrcode.png', $errorCorrectionLevel, $matrixPointSize, 2); 
$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); 
} 
//输出图片 
imagepng($QR, 'helloweba.png'); 
echo '<img src="helloweba.png">'; 

 

由于二维码允许有一定的容错性,一般的二维码即使在遮住部分但仍然能够解码,经常我们扫描二维码的时候扫描到甚至不到一半时就能解码扫描结果,这是因为生成器会将部分信息重复表示来提高其容错度,这就是为什么我们在二维码中间加个LOGO图片并不影响解码结果的原因。

 

原文:使用PHP生成二维码

分享到:
评论

相关推荐

    使用PHP生成二维码,以及如何生成中间带LOGO图像的二维码.zip

    本文将深入探讨如何使用PHP生成二维码,并特别关注如何在二维码中间嵌入LOGO图像。 首先,生成二维码的基础是理解二维码的结构和编码规则。二维码由模块组成,每个模块可以是黑色或白色,代表二进制数据。PHP中常见...

    PHP生成二维码图片

    本文将深入探讨如何使用PHP生成二维码图片,并将其整合到ThinkPHP项目中。 首先,我们需要了解生成二维码的基本原理。二维码是二维条形码的一种,它能够存储更多的信息,如网址、文本、名片等。生成二维码通常需要...

    PHP生成二维码类库

    PHP生成二维码的功能则为开发者提供了在网页中创建和展示二维码的能力。下面我们将详细探讨PHP生成二维码的相关知识点。 首先,我们需要了解的是PHP生成二维码的一种常见类库——"phpqrcode"。这个开源项目...

    PHP生成二维码的接口文件

    本文将深入探讨如何使用PHP生成二维码,以及与Redis缓存服务的集成。 首先,我们关注的是"PHP生成二维码的接口文件"。这意味着我们要创建一个PHP脚本,该脚本可以接收参数并生成相应的二维码图像。PHP QR Code库...

    php 生成二维码完整代码

    本篇文章将详细介绍如何使用PHP生成二维码,并结合提供的文件列表进行解析。 首先,我们需要了解二维码的基本原理。二维码是一种二维条形码,能存储包括文字、数字、URL等多种类型的数据,并且可以通过智能手机等...

    php与ajax生成二维码 带时效性

    #### 一、使用PHP生成二维码的基本原理 在PHP中生成二维码的关键在于引入合适的库,并设置相应的参数。本文档中的示例使用了`phpqrcode.php`库来生成二维码。首先,确保已安装并包含所需的库文件。 ```php include...

    phpqrcode生成二维码

    PHP QR Code 是一个开源项目,用于生成二维码图像,适用于 PHP 开发者。 PHP QR Code 项目提供了在 PHP 环境下生成 QR 码的功能。它基于 libqrencode 库,这个库支持多个级别(L、M、Q、H)的错误校验,以确保即使...

    php生成二维码(已封装)

    本教程将深入探讨如何使用PHP生成二维码,特别关注已封装的函数,以及如何在服务器上部署以实现带或不带Logo的二维码。 首先,我们需要了解二维码的基本原理。二维码(Quick Response Code)是一种二维条形码,包含...

    ThinkPHP整合phpqrcode生成二维码DEMO

    本示例是关于如何在ThinkPHP框架中整合phpqrcode库来生成二维码的DEMO。这个过程涉及到前端与后端的交互、库的安装与配置、以及实际的二维码生成逻辑。 首先,`ThinkPHP`是一个基于PHP的轻量级开源框架,它提供了...

    使用PHP生成二维码的方法汇总

    随着科技的进步,二维码应用领域越来越广泛,本站之前已有文章介绍通过使用jQuery插件来生成二维码,今天我给大家分享下如何使用PHP生成二维码,以及如何生成中间带LOGO图像的二维码。 利用Google API生成二维码 ...

    生成二维码到word中

    生成二维码通常需要使用特定的库或服务,它们可以将各种类型的数据转换成二维码图像。 2. **PHP编程**: PHP(Hypertext Preprocessor)是一种广泛使用的开源脚本语言,特别适合于Web开发。在这个场景中,PHP可以...

    php生成二维码类

    本文将深入探讨如何使用PHP生成二维码(QR Code)以及相关的技术细节。 二维码是一种二维条形码,能够存储大量信息,如网址、文本、联系人信息等。在现代移动互联网应用中,二维码因其方便快捷的特性而被广泛应用。...

    PHP生成二维码实例附演示地址(yii框架生成二维码).rar

    本教程将深入探讨如何在Yii框架下利用PHP生成二维码。 首先,让我们了解一下Yii框架。Yii是一个高性能的、基于组件的PHP框架,适用于开发Web 2.0应用。它提供了一系列强大的特性,如MVC(模型-视图-控制器)架构、...

    生成二维码

    以上就是使用PHP生成二维码的基本步骤。`11.php`文件很可能是实现上述功能的一个具体示例。通过学习和理解这个文件,你可以更深入地掌握二维码生成的细节,并根据实际需求进行扩展,例如添加错误处理、生成多个...

    php二维码生成 包括名片生成

    提供的描述中提到的演示地址`www.d1mpw.com/erweima`可能是用于展示如何使用PHP生成二维码的一个实例,包括名片二维码的生成。虽然具体代码未给出,但通常会有一个HTTP请求接口,接收名片信息,然后调用相应的...

    phpqrcode生成二维码可在html直接调用

    PHP QRcode是一个流行的开源库,它允许开发者使用PHP语言生成二维码。本篇文章将详细阐述如何使用PHP QRcode库来创建二维码,并在HTML页面中直接调用显示。 首先,我们要理解PHP QRcode的基本原理。这个库基于日本...

    php生成二维码源代码,PHP读取二维码源代码,jQuery生成二维码源代码

    首先,我们来看PHP生成二维码的实现。PHP可以通过第三方库如`PHP QR Code`来实现这个功能。`PHP QR Code`是一个用PHP编写的开源项目,能够生成从低到高的错误校正等级的各种二维码。使用步骤如下: 1. 下载并安装`...

    php生成二维码类和方法.zip

    本篇将详细讲解如何利用PHP生成二维码,以及一个特定的类和方法,帮助你理解和应用。 首先,我们要知道生成二维码的基本原理。二维码是一种二维条形码,可以存储各种类型的数据,如文本、URL、联系人信息等。通过...

Global site tag (gtag.js) - Google Analytics