今天在写 BTIS 系统的时候 有一个需求
生成一个带有固定logo 的二维码,本来 的打算是 利用PHP 的 PHPQRCODE 类库来生成二维码
结果发现一个非常坑逼的事情, 按照网上的教程,添加了Logo 的二维码居然没办法识别了 。被这个问题纠结了数个小时 一度拍桌...
在此讽刺一下那些没有实际测试 就直接copy 代码的BLOG 作者, 世界不需要这些冗余的数据
怎么办呢,百度搜索排名第一的 二维码网站 草料二维码 ,网站提供各种功能繁多的二维码的 生成,只是(what ? 不支持API 接入),但是这难不倒我
仔细寻找 发现了这样的 一个页面 https://cli.im/api
官方原来的意思,你可以利用这个API 接口生成特殊渲染的二维码 供用户下载,不顾由于官方原先页面没有充分的做 鉴权,所以可以利用这个接口 ,直接抓取出指定格式的二维码 然后 缓存到本地
下面附上 方法 (注意 simple_html_dom 类 请访问开源项目 https://github.com/samacs/simple_html_dom)
注意其中的 $mhid 需要前往 https://cli.im/api 生成指定的模版,$str 为需要转码成 二维码的字符串
function QRCode_URL($str,$mhid)
{
$path = "QRCache/".strtoupper(md5($str)).".jpg";
if(file_exists($path)) return $path;
else
{
$data=curl_get("https://cli.im/api/qrcode/code?text={$str}&mhid={$mhid}");
$html =new simple_html_dom();
$html->load($data);
$img = $html->find('img',0);
$data = curl_get("https:".$img->src);
file_put_contents($path,$data);
return $path;
}
}