一、PHP 代码layui-box layui-code-view" style="margin-top: 10px; margin-bottom: 10px; padding: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); white-space: pre-wrap; overflow-wrap: break-word; box-sizing: content-box; position: relative; font-size: 12px; border-width: 1px 1px 1px 6px; border-style: solid; border-color: rgb(226, 226, 226); border-image: initial; background-color: rgb(242, 242, 242); color: rgb(51, 51, 51); font-family: "Courier New";">code- <?php
- /**
- * PHP在线网址二维码API源码分享示例
- **/
- //载入qrcode类
- include "./phpqrcode.php";
- //获得GET参数
- $url = isset($_GET["url"]) ? $_GET["url"] : 'help';
- $errorLevel = isset($_GET["e"]) ? $_GET["e"] : 'L';
- $PointSize = isset($_GET["p"]) ? $_GET["p"] : '3';
- $margin = isset($_GET["m"]) ? $_GET["m"] : '0';
- preg_match('/http:\/\/([\w\W]*?)\//si', $url, $matches);
- //简单判定
- //if ( $matches[1] != 'zhang.ge' && $matches[1] != 'zgboke.com' || $url == 'help') { //取消此行正文并正文下面一行,就能加入自界说的url过滤功用
- if ( $url == 'help'){
- //简单的描写一下利用方式
- header("Content-type: text/HTML; charset=utf-8");
- echo '<title>在线二维码API接口| 张戈博客</title>';
- echo '<h1>接待利用张戈博客在线二维码API办事!</h1>
- 利用前请仔细检察参数说明:<br />
- <br />
- url: 二维码对应的网址<br /><br />
- m  : 二维码红色边框尺寸,缺省值: 0px<br /><br />
- e  : 容错级别(errorLevel),可选参数以下(缺省值 L):<br />
-  L水平 7%的字码可被批改<br />
-  M水平 15%的字码可被批改<br />
-  Q水平 25%的字码可被批改<br />
-  H水平 30%的字码可被批改<br />
- p  : 二维码尺寸,可选范围1-10(具体巨细和容错级别有关)(缺省值:3)<br /><br />
- 常规用法:<a href="seo.zgboke.com/qr/?m=0&e=L&p=3&url=https:///" target="_blank">http://seo.zgboke.com/qr/?m=0&e=L&p=3&url=https://zhang.ge/</a><br /><br />
- CDN 加速:<br />
- 格
- 式:http://seo.zgboke.com/qr/$m_$e_$p_$url_cdn.png <br />
- 示
- 例:<a href="seo.zgboke.com/qr/0_l_3_https:///_cdn.png" target="_blank">http://seo.zgboke.com/qr/0_l_3_https://zhang.ge_cdn.png</a><br />
- ';
- exit();
- } else {
- //挪用二维码天生函数
- createqr($url, $errorLevel, $PointSize, $margin);
- }
- //简单二维码天生函数
- function createqr($value,$errorCorrectionLevel,$matrixPointSize,$margin) {
- QRcode::png($value, false, $errorCorrectionLevel, $matrixPointSize, $margin);
- }
- ?>
将以上代码保存为php文件(比如qr.php),上传到网站指定目录(比如根目录 /)。
二、QrCode类下载PHP的QrCode类,上传到网站目录!
https://pan.baidu.com/s/1gditDsv
三、CDN 加速 由于 API 是在线天生的,是以假如请求过于频仍,能够会影响办事器性能和加载速度。是以,我们需要继续优化。我小我以为有三种处理计划: 1.将每个新的二维码图像的副本缓存到办事器。下一次它是不异的,它将被间接读取 2.利用伪静态重写请求地址,伪装成静态文件格式,如png、jpg等。,然后翻开免费CDN; 3、连系①和②,实现伪静态+CDN加速+阅读器停止缓存技术加速,到达企业优化模子加载速度。
今朝只利用了第2种计划,完全可以满足博客的需求,所以我懒得折腾更完善的方式。感爱好的童鞋可以自己尝试一下。我们来谈谈伪静态法则。
我这个API搭建在万网的免费收集虚拟 主机上,所以仅分享Apache伪静态治理法则,其他WEB办事器请自行停止处理。
Apache伪静态法则: code- RewriteEngine on
- RewriteBase /
- #QR二维码
- RewriteRule ^qr/(.*)_(.*)_(.*)_http:/(.*)_cdn\.png$ qr/index.php?m=$1&e=$2&p=$3&url=http://$4 [L]
- RewriteRule ^qr/(.*)_(.*)_(.*)_(.*)_cdn\.png$ qr/index.php?m=$1&e=$2&p=$3&url=$4 [L]
注:以上是将API源码上传到网站根目录下的 qr 文件夹的例子! 伪静态后,二维码地址是一个一般的 PNG 格式,只要免费的 CDN (如百度云加速或360收集监护人等) ,使静态资本缓存实现 CDN 加速。
四、利用典范间接拜候本文第一段代码所保存的文件就能看到简单的利用说了然: code- 接待利用在线二维码API办事!
- 利用前请仔细检察参数说明:
- url: 二维码对应的网址
- m : 二维码红色边框尺寸,缺省值: 0px
- e : 容错级别(errorLevel),可选参数以下(缺省值 L):
- L水平 7%的字码可被批改
- M水平 15%的字码可被批改
- Q水平 25%的字码可被批改
- H水平 30%的字码可被批改
- p : 二维码尺寸,可选范围1-10(具体巨细和容错级别有关)(缺省值:3)
- 常规用法:http://seo.zgboke.com/qr/?m=0&e=L&p=3&url=https://zhang.ge/
- CDN 加速:
- 格 式:http://seo.zgboke.com/qr/$m_$e_$p_$url_cdn.png
- 示 例:http://seo.zgboke.com/qr/0_l_3_https://zhang.ge_cdn.png
按下F12,到 NetWork 选项卡检察头部已经可以看到百度云加速的HIT缓存标识了! |