生成二维码并指定地址跳转


/*
 * 功能:生成二维码
 * @param string $qr_data   手机扫描后要跳转的网址
 * @param string $qr_level  默认纠错比例 分为L、M、Q、H四个等级,H代表最高纠错能力
 * @param string $qr_size   二维码图大小,1-10可选,数字越大图片尺寸越大
 * @param string $save_path 图片存储路径
 * @param string $save_prefix 图片名称前缀
 */
    function createQRcode($save_path, $qr_data, $qr_level = 'L', $qr_size = 5, $save_prefix = 'qrcode')
    {
        vendor('phpqrcode.phpqrcode');
        $qr = new \QRcode();
        if (!isset($save_path)) return '';
        //设置生成png图片的路径
        $PNG_TEMP_DIR = &$save_path;
        //导入二维码核心程序
        //检测并创建生成文件夹
        if (!file_exists($PNG_TEMP_DIR)) {
            mkdir($PNG_TEMP_DIR);
        }
        $filename = $PNG_TEMP_DIR . 'test.png';
        $errorCorrectionLevel = 'L';
        if (isset($qr_level) && in_array($qr_level, array('L', 'M', 'Q', 'H'))) {
            $errorCorrectionLevel = &$qr_level;
        }
        $matrixPointSize = 4;
        if (isset($qr_size)) {
            $matrixPointSize = &min(max((int)$qr_size, 1), 10);
        }
        if (isset($qr_data)) {
            if (trim($qr_data) == '') {
                die('data cannot be empty!');
            }
            //生成文件名 文件路径+图片名字前缀+md5(名称)+.png
            $filename = $PNG_TEMP_DIR . $save_prefix . md5($qr_data . '|' . $errorCorrectionLevel . '|' . $matrixPointSize) . '.png';
            //开始生成
            $qr::png($qr_data, $filename, $errorCorrectionLevel, $matrixPointSize, 2);
        } else {
            //默认生成
            $qr::png('PHP QR Code :)', $filename, $errorCorrectionLevel, $matrixPointSize, 2);
        }
        if (file_exists($PNG_TEMP_DIR . basename($filename)))
            return basename($filename);
        else
            return FALSE;
    }
}

php调用示例


/**
 * 生成二维码
 */
public function qrcode()
{
    $save_path = isset($_GET['save_path']) ? $_GET['save_path'] : '/qrcode/';  //图片存储的绝对路径
    $web_path = isset($_GET['save_path']) ? $_GET['web_path'] : '/qrcode/';        //图片在网页上显示的路径
    $qr_data = isset($_GET['qr_data']) ? $_GET['qr_data'] : 'http://www.baidu.com/';       //二维码内容
    $qr_level = isset($_GET['qr_level']) ? $_GET['qr_level'] : 'H';
    $qr_size = isset($_GET['qr_size']) ? $_GET['qr_size'] : '10';
    $save_prefix = isset($_GET['save_prefix']) ? $_GET['save_prefix'] : 'ZETA';
    if ($filename = $this->createQRcode($save_path, $qr_data, $qr_level, $qr_size, $save_prefix)) {
        $pic = $web_path . $filename;
    }
    echo "<img src='" . $pic . "'>";
}phpqrcode下载地址:https://sourceforge.net/projects/phpqrcode/files/

原文地址:https://www.cnblogs.com/lalalagq/p/10203158.html

时间: 2024-11-06 11:26:38

生成二维码并指定地址跳转的相关文章

生成二维码功能

1. 指定某张Logo图片进行生成 须引用ThoughtWorks.QRCode.dll QrcodeWeChart qwc = new QrcodeWeChart(); // int memberid = 1000000; // int order = 1; // string tkt = qwc.ticket(memberid, order); // Ticket t = JsonConvert.DeserializeObject<Ticket>(tkt); string url = XX

使用Google zxing生成二维码

添加Maven依赖 <dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <version>3.2.1</version> </dependency> <dependency> <groupId>com.google.zxing</groupId> <artifact

JAVA生成二维码图片代码

首先需要导入 QRCode.jar 包 下载地址看这里   http://pan.baidu.com/s/1o6qRFqM import java.awt.Color;import java.awt.Graphics2D;import java.awt.Image;import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;import java.io.UnsupportedEncoding

HP QR Code 生成二维码

最近需要做一个扫码登录的功能,通过HP QR Code来实现,HP QR Code是一个开放源代码的php生成二维码的类库 地址:http://phpqrcode.sourceforge.net/ 通过 phpqrcode.php 的png()方法即可生成二维码图片,png()方法参数说明: public static function png($text, $outfile = false, $level = QR_ECLEVEL_L, $size = 3, $margin = 4, $sav

JavaScript生成二维码图片

1.引入一个二维码工具的js文件,同时需要引入jquery文件 下面是jquery.qrcode.min.js文件内容: 1 (function(r){r.fn.qrcode=function(h){var s;function u(a){this.mode=s;this.data=a}function o(a,c){this.typeNumber=a;this.errorCorrectLevel=c;this.modules=null;this.moduleCount=0;this.dataC

Java生成二维码实现扫描次数统计并转发到某个地址

需求:近几天某个项目需要用户录入个自己的网址,然后系统需要根据用户的的网址生成二维码,然后用户可以拿着它给别人扫描,访问到他录入的网址,在这个过程中.我需要知道用户的二维码被扫描的次数,也就是后面根据其可以做一些扫描排名之类的. 思路: 先生成二维码,csdn已经有前辈写了,那么我就直接拿过来用了. 将用户的id,和用户录入的网址处理之后作为http get参数封装到二维码中,然后用户扫描会自动跳转到我们系统的某个接口 在接口中根据用户id将用户查询出来,扫描次数加1后重定向到用户录入页面 代码

Java生成二维码并用FastDFS上传到文件服务器返回图片地址

1. maven依赖 <dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <version>3.1.0</version> </dependency> <dependency> <groupId>commons-codec</groupId> <artifactId

yii 整合phpqrcode生成二维码附在线演示地址

1,先到官网下载包  http://phpqrcode.sourceforge.net/ 下载官网提供的类库后,只需要使用phpqrcode.php就可以生成二维码了,当然您的PHP环境必须开启支持GD2. phpqrcode.php提供了一个关键的png()方法,其中参数$text表示生成二位的的信息文本:参数$outfile表示是否输出二维码图片 文件,默认否:参数$level表示容错率,也就是有被覆盖的区域还能识别,分别是 L(QR_ECLEVEL_L,7%),M(QR_ECLEVEL_M

php qrencode生成二维码

$url = http://test.php;//二维码的跳转地址 $qrcode_path = './img/test123.jpg';//二维码的保存路径及名称(linux下如果只指定路径会在php执行文件下生成二维码,所以要把路径和名称写完整) $qrcode = "/usr/bin/qrencode -o $qrcode_path  $url";//生成二维码的命令$qrcode_path二维码路径$url跳转的地址 exec($qrcode, $output, $result