使用PHP类库PHPqrCode生成二维码(附代码)

PHPqrCode是一个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表示是否保存二维码并 显示。

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

Php代码

include 'phpqrcode.php';

QRcode::png('https://www.cwhello.com');

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

<?php

include 'phpqrcode.php';

$value = 'https://www.cwhello.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">';

?>

本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处:https://www.cwhello.com/3718.html

(0)
上一篇 2017年11月22日 13:43
下一篇 2017年11月22日 14:30

相关推荐

  • 通过php操作mysql来创建数据库(附代码)

    创建数据库 此操作页面的html代码如下: 添加数据库 数据库名 操作 php07 修改 删除 这时我们需要建立一个用户提交数据库名的表单的htnl页面 代码如下: 标题 数据库名: 最后是一个接收用户提交数据并处理的页面 ps...

    2018年3月14日
    0120
  • PHP文件下载

    文件下载 如果下载的文件较多、文件大,通常就会使用百度云,如果下载的文件小、文件少的话,通常会使用php进行下载 通过php下载文件的原理: 先通过php读取下载的文件资源,读取到这些资源之后,再将其保存到文件中...

    2018年9月18日
    0240
  • (实用篇)PHP不用递归遍历目录下所有文件的代码

    <?php /** * PHP 非递归实现查询该目录下所有文件 * @param unknown $dir * @return multitype:|multitype:string */ function scanfiles($dir) { if (! is_dir ( $dir )) return array ();   // 兼容各操作系统 ...

    2016年10月21日
    0150
  • (理论篇)localhost与127.0.0.1的区别

    很多人会接触到这个ip地址127.0.0.1。也许你会问127.0.0.1是什么地址?其实127.0.0.1是一个回送地址,指本地机,一般用来测试使用。大家常用来ping 127.0.0.1来看本地ip/tcp正不正常,如能ping通即可正常使用。 对于...

    2016年10月24日
    0100
  • nginx 504 Gateway Time-out如何处理

    今天程序在执行一项excel导出任务的时候 出现了nginx超时的提示 nginx 504 Gateway Time-out 排查过程: 查看该任务 发现内容是一个数据量20000条信息 每条信息有50个字段 在执行导出为excel的时候 出现了该问题 执...

    2018年4月13日
    0180
  • 从事php工作,你知道要掌握哪些技能吗?

    从事PHP工作,大家知道在不同的阶段需要掌握哪些技能吗啊?下面简单的介绍一下: 一PHP初级开发工程师 1. 走进PHP的世界 PHP介绍、PHP版本发展历史、PHP薪资水平和职业发展、WEB开发中基础概念介绍、PHP开发环境搭建...

    2017年12月20日
    070
  • 重蔚php学习第三十五天——php表单文件上传

    什么是文件上传 <input type=’file’ /> 文件框 允许用户选择一个本地文件上传至服务器   准备工作 1)表单 2)设置method=”post”,不能使用get get是将数据附近地址栏中,会限制数据大小,只能传输文本数...

    2017年10月20日
    0141
  • php的默认构造函数

    如果在类中,没有定义构造函数,那么会有一个默认的构造函数,形式如下, 举例说明 如何将一个对象的属性输出并显示 说明: 通过上面的案例,我们讲解了两个重要的点 如果显示成员属性的值 深刻理解了$this 的指向当...

    2018年4月11日
    0140

发表评论

您的电子邮箱地址不会被公开。

您看到的还是重蔚自留地。只是我们升级啦!