PHP生成二维码图片(可自定义logo,大小,容错)
phpqrcode类下载地址:https://sourceforge.net/projects/phpqrcode/files/
- /*生成二维码图片
- @param string $content 内容
- @param string $qr 二维码地址
- @param string $logo logo地址
- @param string $level 容错等级
- @param string $size 图片大小
- @return string
- */
- function qr($content="", $qr="", $logo="", $level="L", $size="6") {
- if(empty($content)) {
- return 'content is not empty';
- }
- \think\Loader::import('phpqrcode.phpqrcode', EXTEND_PATH);
- if(empty($qr)) {
- $path = Env::get('ROOT_PATH') . "public/static/"; // 本地存放图片路径
- if(!file_exists($path)) {
- mkdir($path, 0777, true);
- }
- $qr = $path . time() . '.png';
- }
- QRcode::png($content, $qr, $level, $size, 2);
- if($logo) {
- if(file_exists($logo)) {
- $logo_resource = imagecreatefromstring(file_get_contents($logo));
- $qrcode_resource = imagecreatefromstring(file_get_contents($qr));
- $logo_w = imagesx($logo_resource); // logo图片宽度
- $logo_h = imagesy($logo_resource); // logo图片高度
- $qrcode_w = imagesx($qrcode_resource); // 二维码图片宽度
- $logo_qr_width = $qrcode_w / 5;
- $scale = $logo_w / $logo_qr_width;
- $logo_qr_height = $logo_h / $scale;
- $from_width = ($qrcode_w - $logo_qr_width) / 2;
- // 重新组合图片并调整大小
- imagecopyresampled($qrcode_resource, $logo_resource, $from_width, $from_width, 0, 0, $logo_qr_width, $logo_qr_height, $logo_w, $logo_h);
- imagepng($qrcode_resource, $qr);
- } else {
- return 'logo file is not exist';
- }
- }
- return $qr;
- }?>```
解压密码: detechn或detechn.com
免责声明
本站所有资源出自互联网收集整理,本站不参与制作,如果侵犯了您的合法权益,请联系本站我们会及时删除。
本站发布资源来源于互联网,可能存在水印或者引流等信息,请用户自行鉴别,做一个有主见和判断力的用户。
本站资源仅供研究、学习交流之用,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担。