当前位置:首页 > PHP

php实现二维码

2026-02-14 06:00:42PHP

PHP 生成二维码的方法

PHP 可以通过多种方式生成二维码,以下是几种常见的方法:

使用 QR Code 库(如 endroid/qr-code)

安装 endroid/qr-code 库:

composer require endroid/qr-code

生成二维码示例代码:

require_once 'vendor/autoload.php';

use Endroid\QrCode\Builder\Builder;
use Endroid\QrCode\Encoding\Encoding;
use Endroid\QrCode\ErrorCorrectionLevel\ErrorCorrectionLevelLow;
use Endroid\QrCode\RoundBlockSizeMode\RoundBlockSizeModeMargin;
use Endroid\QrCode\Writer\PngWriter;

$result = Builder::create()
    ->writer(new PngWriter())
    ->data('https://www.example.com')
    ->encoding(new Encoding('UTF-8'))
    ->errorCorrectionLevel(new ErrorCorrectionLevelLow())
    ->size(300)
    ->margin(10)
    ->roundBlockSizeMode(new RoundBlockSizeModeMargin())
    ->build();

// 直接输出二维码图像
header('Content-Type: '.$result->getMimeType());
echo $result->getString();

// 保存到文件
$result->saveToFile(__DIR__.'/qrcode.png');

使用 PHP QR Code 库

下载 PHP QR Code 库(可从 GitHub 获取):

include('phpqrcode/qrlib.php');

// 简单生成二维码
QRcode::png('https://www.example.com');

// 带参数生成
QRcode::png('https://www.example.com', 'qrcode.png', QR_ECLEVEL_L, 10, 2);

使用 Google Charts API(在线方式)

$url = urlencode('https://www.example.com');
$qrUrl = "https://chart.googleapis.com/chart?chs=300x300&cht=qr&chl=$url";
echo '<img src="'.$qrUrl.'" alt="QR Code"/>';

二维码生成参数说明

  • 尺寸:通常以像素为单位,常见尺寸为 200x200 到 500x500
  • 容错级别:影响二维码损坏时的可读性,有 L(7%)、M(15%)、Q(25%)、H(30%)四个级别
  • 边距:二维码周围的空白区域,通常为 2-4 个模块宽度
  • 数据编码:确保使用正确的字符编码(如 UTF-8)

二维码内容类型

可以生成包含以下内容的二维码:

  • 网址 URL
  • 文本信息
  • 联系方式(vCard 格式)
  • WiFi 网络配置
  • 电子邮件地址
  • 电话号码
  • 短信内容

高级功能实现

带 logo 的二维码

使用 endroid/qr-code 添加 logo:

$result = Builder::create()
    ->data('https://www.example.com')
    ->size(300)
    ->logoPath(__DIR__.'/logo.png')
    ->logoResizeToWidth(50)
    ->build();

彩色二维码

$result = Builder::create()
    ->data('https://www.example.com')
    ->foregroundColor(0, 0, 0, 0)  // 黑色
    ->backgroundColor(255, 255, 255, 0)  // 白色
    ->build();

注意事项

  • 确保服务器有写入权限(如需保存文件)
  • 在线 API 方式需要网络连接
  • 二维码内容不宜过长(最多约 4000 个字符)
  • 对于敏感信息,考虑生成临时二维码或添加访问控制

php实现二维码

标签: 二维码php
分享给朋友:

相关文章

php实现图片上传

php实现图片上传

实现图片上传的基本步骤 创建HTML表单用于文件上传,表单需设置enctype="multipart/form-data"属性,确保文件数据正确传输。 <form action="uploa…

php实现

php实现

PHP 实现的基本方法 PHP 是一种服务器端脚本语言,广泛用于 Web 开发。以下是 PHP 实现的一些常见方法。 变量与数据类型 PHP 变量以 $ 开头,支持多种数据类型: $n…

php实现异步

php实现异步

PHP 实现异步的方法 PHP 本身是同步执行的脚本语言,但可以通过以下方法模拟异步操作或实现异步效果: 使用多进程(pcntl_fork) 通过 pcntl_fork 创建子进程实现异步,适用于…

php实现的分页

php实现的分页

PHP 实现分页的方法 基本分页逻辑 分页的核心在于计算总页数、当前页码以及数据偏移量。假设每页显示 10 条数据: $current_page = isset($_GET['page']) ?…

php搜索功能实现

php搜索功能实现

实现基本的PHP搜索功能 使用MySQL数据库和PHP实现简单的关键词搜索功能。需要确保数据库中有可供搜索的表和数据。 // 连接数据库 $conn = new mysqli('localhost…

php实现博客

php实现博客

使用PHP实现博客系统 数据库设计 创建数据库表存储博客文章和用户信息。常见的表包括posts(文章)和users(用户)。 CREATE TABLE users ( id INT AUT…