阅读模式:

php生成二维码

查看:7411  回复:0  类型:  来源:php自学网  标签 php

php生成二维码图片的代码,需要先去phpqrcode官网下载插件。

下载地址:https://sourceforge.net/projects/phpqrcode/files/releases/

下载完解压,只要找到目录中的phpqrcode.php文件复制到你的项目中即可,include这个文件并实例化

二维码容错级别:

     电平L(低) 7%的码字可以被恢复。

     M级(中) 的码字的15%可以被恢复。

     级Q(四分)[ 28 ] 的码字的25%可以被恢复。

     H级(高) 的码字的30%可以被恢复。

一、php生成普通二维码

<?php
    include_once 'phpqrcode.php';
    $value = $_GET['url'];//二维码内容
    $level = 'H';//容错级别
    $size = 5;//生成图片大小

    //生成二维码图片
    QRcode::png($value, 'qrcode.png', $level, $size, 2);
    $QR = 'qrcode.png';//已经生成的原始二维码图
    $QR = imagecreatefromstring(file_get_contents($QR));
    
    //输出图片
    Header("Content-type: image/png");
    ImagePng($QR)

二、php生成带logo的二维码

include ('phpqrcode.php');
$value = $_GET['url'];//二维码内容
$errorCorrectionLevel = 'H';//容错级别
$matrixPointSize = 5;//生成图片大小
//生成二维码图片
QRcode::png($value, 'qrcode.png', $errorCorrectionLevel, $matrixPointSize, 2);
$logo = 'http://zixuephp.net/static/images/favicon.jpg';//准备好的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);
}
//输出图片
Header("Content-type: image/png");
ImagePng($QR);

        在图片标签中引用qrimg.php文件,<img src="qrimg.php"/>输出图片。

三、jquery.qrcode.js生成二维码

<!DOCTYPE html>
<html lang="zh-CN">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>jquery.qrcode.js 生成二维码</title>
    <script src="https://cdn.jsdelivr.net/npm/jquery@1.12.4/dist/jquery.min.js"></script>
     <script src="https://cdn.bootcss.com/jquery.qrcode/1.0/jquery.qrcode.min.js"></script>
  </head>
  <body>
    <h1>jquery.qrcode.js 生成二维码</h1>
   <div style="margin:0 auto;width:300px;height:300px;" id="qrcode"></div>
   <script>
     jQuery(function(){
             jQuery('#qrcode').qrcode({
                render: "canvas",
                width: 300,
                height: 300,
                text: encodeURI("http://zixuephp.net/article-144.html"),  //二维码内容
                background: "#ffffff",  //背景颜色
                foreground: "#000000",  //前景颜色
             });       
     })
   </script>
  </body>
</html>

jquery.qrcode.js logo可以用绝对定位覆盖二维码上去。

分享到:
2 0

*有问题之处烦请在评论中指出非常感谢!
不是我想要的内容,继续搜索:

扫描二维码手机查看

发布评论:


登录:
  表情:
评论话题
推荐阅读:
mysql5.7主从同步中binlog同步模式详解   阅读:8280phpexcel 超简单从excel表格一键导入数据到数据库教程   阅读:12826php 生成图片,给图片加水印   阅读:6910“米粉节”背后的故事——小米网抢购系统开发实践   阅读:4559把php session 会话保存到redis   阅读:7855mysql中文分词全文搜索索引讯搜的安装   阅读:7483php 获取当前前后年、月、星期、日、时分秒的时间   阅读:7290爱编程,也爱健康   阅读:4786爱编程,也爱健康   阅读:4786linux top命令详解   阅读:10194php 读取和设置redis的键值   阅读:7792网站性能优化-页面静态缓存   阅读:5898centos 7 设置 nginx-1.11.10 开机启动   阅读:8503nginx安装redis模块   阅读:6661web性能测试工具ab的测试方法   阅读:5087centos7中颁发CA证书并开启web https   阅读:8753centos 7搭建zabbix3.4   阅读:7107php显示刚刚、几分钟前、几小时前、几天前的函数   阅读:9210linux php7安装yaf扩展   阅读:9127知乎百万赞作者告诉你:年薪百万的人都在靠什么赚钱   阅读:7276nginx安装redis模块   阅读:6661csv文件一键导入数据到mysql数据库   阅读:7257小米手机端商城rem适配原理   阅读:7171nginx安装redis模块   阅读:6661nginx安装mysql和json模块   阅读:5950php 使用 smtp.php 类在线发送邮件功能   阅读:6234Nginx 配置文件详解   阅读:5381php打印九九乘法表   阅读:11536给php7安装redis扩展库   阅读:8822“米粉节”背后的故事——小米网抢购系统开发实践   阅读:4559php 读取和设置redis的键值   阅读:7792php 获取当前前后年、月、星期、日、时分秒的时间   阅读:7290javascript对cookie操作详细代码函数   阅读:5728nginx编译安装后对nginx进行平滑升级   阅读:7236php压缩页面的html代码一行显示   阅读:8166面试都会问你为什么你从上一家公司离职的真实意思   阅读:11809移动端js触摸touch详解(附带案例源码)   阅读:17651简单的DOS攻击之死亡之ping详解   阅读:63304人性漫画:打工与创业的残酷区别   阅读:5381Mysql在大型网站的应用架构演变   阅读:5111php打印九九乘法表   阅读:11536php+redis实现消息队列   阅读:15877php打印九九加法表   阅读:11546企业让你去面试,可能不是真的招人   阅读:6332mysql 为什么添加索引可以提高访问速度   阅读:6512简单的DOS攻击之死亡之ping详解   阅读:63304纯干货,程序员面试的超实用技巧   阅读:4668mysql 为什么添加索引可以提高访问速度   阅读:6512linux命令中执行php脚本   阅读:8773centos7.3安装mongodb3.6   阅读:8177