吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 706|回复: 1
收起左侧

[已解决] 二维码API生成SVG错误,求助大神!

[复制链接]
独行剑侠 发表于 2023-2-4 15:46
本帖最后由 独行剑侠 于 2023-2-4 15:55 编辑

网络找了个生成二维码的API,想要将生成PNG图片改为SVG,出现报错,求助大神解决~

原有:
[PHP] 纯文本查看 复制代码
//简单二维码生成函数
function createqr($value,$errorCorrectionLevel,$matrixPointSize,$margin) {
    QRcode::png($value, false, $errorCorrectionLevel, $matrixPointSize, $margin);


修改报错了:
[PHP] 纯文本查看 复制代码
//简单二维码生成函数
function createqr($value,$errorCorrectionLevel,$matrixPointSize,$margin) {
    QRcode::svg($value, false, $errorCorrectionLevel, $matrixPointSize, $margin);


然后发现api无法调用phpqrcode.php。
晕头了,求助大神~~~伸出援手~~~

调用的完整PHP二维码api

[PHP] 纯文本查看 复制代码
<?php

//载入qrcode类
include "../code/phpqrcode.php";

//取得GET参数
$url        = isset($_GET["text"]) ? $_GET["text"] : 'help';
$errorLevel = isset($_GET["e"]) ? $_GET["e"] : 'H';
$PointSize  = isset($_GET["p"]) ? $_GET["p"] : '3';
$margin     = isset($_GET["m"]) ? $_GET["m"] : '6';
preg_match('/http:\/\/([\w\W]*?)\//si', $url, $matches);

//简单判断
//if ( $matches[1] != 'api.xxx.cn' && $matches[1] != 'xxx.cn' || $url == 'help') { //取消此行注释并注释下面一行,就能加入自定义的url过滤功能
if ( $url == 'help'){
    header("Content-type: text/html; charset=utf-8");
    echo '<title>在线二维码API接口</title>';
    echo '<h1>在线二维码API服务</h1>
    使用前请仔细查看参数说明:<br />
    <br />
    text  : 二维码对应的内容,默认值: help<br /><br />
    m  : 二维码白色边框尺寸,默认值: 3px<br /><br />
    e  : 容错级别(errorLevel),可选参数如下(默认值 H):<br /><br />
         L       7%的字码可被修正<br />
         M      15%的字码可被修正<br />
         Q      25%的字码可被修正<br />
         H      30%的字码可被修正<br /><br />
    p  : 二维码尺寸,可选范围1-10(具体大小和容错级别有关)(默认值:6)<br /><br />
    常规用法:<a  target="_blank"><a href="https://api.xxx.cn/code?m=3&e=H&p=6&text=https://www.xxx.cn/
<a href="https://api.xxx.cn/code?m=3&e=H&p=6&text=https://www.xxx.cn/
https://api.xxx.cn/code?m=3&e=H&p=6&text=https://www.xxx.cn/</a><br /><br />
    
    ';
        exit();
} else  {
    //调用二维码生成函数
    createqr($url, $errorLevel, $PointSize, $margin);
}

//简单二维码生成函数
function createqr($value,$errorCorrectionLevel,$matrixPointSize,$margin) {
    QRcode::png($value, false, $errorCorrectionLevel, $matrixPointSize, $margin);
}
?>



已解决。
原来是目录调用错误,
脑子就是不好使了,晕头了压根没看目录调用。
最终:

[PHP] 纯文本查看 复制代码
<?php

//载入qrcode类
include "phpqrcode.php";

//取得GET参数
$url        = isset($_GET["text"]) ? $_GET["text"] : 'help';
$errorLevel = isset($_GET["e"]) ? $_GET["e"] : 'H';
$PointSize  = isset($_GET["p"]) ? $_GET["p"] : '3';
$margin     = isset($_GET["m"]) ? $_GET["m"] : '6';
preg_match('/http:\/\/([\w\W]*?)\//si', $url, $matches);

//简单判断
//if ( $matches[1] != 'api.xxx.cn' && $matches[1] != 'xxx.cn' || $url == 'help') { //取消此行注释并注释下面一行,就能加入自定义的url过滤功能
if ( $url == 'help'){
    header("Content-type: text/html; charset=utf-8");
    echo '<title>在线二维码API接口 | 楠格</title>';
    echo '<h1>在线二维码API服务</h1>
    使用前请仔细查看参数说明:<br />
    <br />
    text  : 二维码对应的内容,默认值: help<br /><br />
    m  : 二维码白色边框尺寸,默认值: 3px<br /><br />
    e  : 容错级别(errorLevel),可选参数如下(默认值 H):<br /><br />
         L       7%的字码可被修正<br />
         M      15%的字码可被修正<br />
         Q      25%的字码可被修正<br />
         H      30%的字码可被修正<br /><br />
    p  : 二维码尺寸,可选范围1-10(具体大小和容错级别有关)(默认值:6)<br /><br />
    常规用法:<a  target="_blank">https://baidu.com/</a><br /><br />
    
    ';
    exit();
} else  {
    //调用二维码生成函数
    createqr($url, $errorLevel, $PointSize, $margin);
}

//简单二维码生成函数
function createqr($value,$errorCorrectionLevel,$matrixPointSize,$margin) {
    QRcode::svg($value, false, $errorCorrectionLevel, $matrixPointSize, $margin);
}
?>


发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

一只大菜猫 发表于 2023-2-4 16:41
下次还是要细心点
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 02:50

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表