二维码API生成SVG错误,求助大神!
本帖最后由 独行剑侠 于 2023-2-4 15:55 编辑网络找了个生成二维码的API,想要将生成PNG图片改为SVG,出现报错,求助大神解决~
原有:
//简单二维码生成函数
function createqr($value,$errorCorrectionLevel,$matrixPointSize,$margin) {
QRcode::png($value, false, $errorCorrectionLevel, $matrixPointSize, $margin);
修改报错了:
//简单二维码生成函数
function createqr($value,$errorCorrectionLevel,$matrixPointSize,$margin) {
QRcode::svg($value, false, $errorCorrectionLevel, $matrixPointSize, $margin);
然后发现api无法调用phpqrcode.php。
晕头了,求助大神~~~伸出援手~~~
调用的完整PHP二维码api
<?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 != 'api.xxx.cn' && $matches != '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 />
常规用法:<atarget="_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);
}
?>
已解决。
原来是目录调用错误,
脑子就是不好使了,晕头了压根没看目录调用。:rggrg
最终:
<?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 != 'api.xxx.cn' && $matches != '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 />
常规用法:<atarget="_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);
}
?>
下次还是要细心点
页:
[1]