首页 / 二维码 / ThinkPHP5 生成二维码
ThinkPHP5 生成二维码
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了ThinkPHP5 生成二维码,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2425字,纯文字阅读大概需要4分钟。
内容图文
![ThinkPHP5 生成二维码](/upload/InfoBanner/zyjiaocheng/594/6c3eec4bdd094fc098584aa4caa4dc74.jpg)
首先下载这个类:http://phpqrcode.sourceforge.net/
phpqrcode.php 放在extend目录下面,如果有二级目录qrcode/phpqrcode.php就 Loader::import(‘qrcode.phpqrcode’, EXTEND_PATH);
一、上代码:
/**
* @param $text 文本的内容
* @param string $logo logo图片
* @return string TP5-PHP生成二维码
*/
public function code($text, $logo = '')
{
Loader::import('phpqrcode', EXTEND_PATH);
//二维码图片保存路径
$pathname = APP_PATH . '/../public/upload/';
if (!is_dir($pathname)) { //若目录不存在则创建之
mkdir($pathname);
}
//二维码图片保存路径(若不生成文件则设置为false)
$name = "/qrcode_" . time() . ".png";
$filename = $pathname . $name;
//二维码容错率,默认L
$level = "L";
//二维码图片每个黑点的像素,默认4
$size = '10';
//二维码边框的间距,默认2
$padding = 2;
//保存二维码图片并显示出来,$filename必须传递文件路径
$saveandprint = true;
//生成二维码图片
\QRcode::png($text, $filename, $level, $size, $padding, $saveandprint);
//二维码logo
$QR = imagecreatefromstring(file_get_contents($filename));
// $logo = imagecreatefromstring(file_get_contents($logo));
// $QR_width = imagesx($QR);
// $QR_height = imagesy($QR);
// $logo_width = imagesx($logo);
// $logo_height = imagesy($logo);
// $logo_qr_width = $QR_width / 5;
// $scale = $logo_width / $logo_qr_width;
// $logo_qr_height = $logo_height / $scale;
// $from_width = ($QR_width - $logo_qr_width) / 2;
// imagecopyresampled($QR, $logo, $from_width, $from_width, 0, 0, $logo_qr_width, $logo_qr_height, $logo_width, $logo_height);
// imagepng($QR, $filename);
return cdnurl('/upload' . $name, true);
}
第二步:cdnurl函数
/**
* 获取上传资源的CDN的地址
* @param string $url 资源相对地址
* @param boolean $domain 是否显示域名 或者直接传入域名
* @return string
*/
function cdnurl($url, $domain = false)
{
$regex = "/^((?:[a-z]+:)?\/\/|data:image\/)(.*)/i";
$cdnurl = \think\Config::get('upload.cdnurl');
$url = preg_match($regex, $url) || ($cdnurl && stripos($url, $cdnurl) === 0) ? $url : $cdnurl . $url;
if ($domain && !preg_match($regex, $url)) {
$domain = is_bool($domain) ? request()->domain() : $domain;
$url = $domain . $url;
}
return $url;
}
第三步:使用
/*二维码接口*/
public function qrcode()
{
$data = array();
$data['productid'] = mt_rand(1, 5); /*产品id 1-5*/
$data['user_id'] = mt_rand(1, 200); /*用户ID*/
$data['type'] = 1; /*1未核销 2已核销 3已锁定*/
$json = json_encode($data);
$qrcodeurl = self::code($json);
header("Location: " . $qrcodeurl);
}
内容总结
以上是互联网集市为您收集整理的ThinkPHP5 生成二维码全部内容,希望文章能够帮你解决ThinkPHP5 生成二维码所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。