<?php /** * composer 安装 composer require aferrandini/phpQRcode */ /** * 二维码生成 * Time:2018/7/20 0020 */ public function createqrcode(){ $id=input('id'); $url = 'http://' . $_SERVER['HTTP_HOST'] . '/index/user/center?car_id=' . $id; // $res = create_qrcode($id,$url,'car'); //生成不带logo的二维码 $res = create_png($url, true, './uploads/qrcode/car/car_'.$id.'.png', 'H'); //生成带logo的二维码 $re = $this->logicCar->editField($id,'qrcode',$res); $this->ajaxJump($re); } /**二维码生成器 * User:wanglu * Time:2018/7/20 0020 * @param $id * @return bool|string */ function create_qrcode($id, $url, $model) { $pash = './uploads/qrcode/'.$model.'/'.$model.'_' . $id . '.png'; if (!file_exists(dirname($pash))){ mkdir(dirname($pash),0777,true); } if(file_exists($pash)){ unlink($pash); } \PHPQRCode\QRcode::png($url, $pash, 'H', 10,2); $path = substr($pash, 1); return $path; } /** * 生成带logo的二维码 * @param $text 二维码内容 * @param bool $logo 是否带log * @param bool $outfile 输出地址 * @param string $level 容错等级 * @param int $size 尺寸 * @param int $margin 边框 * @param bool $saveandprint * @return bool|string * User: Dh106 * Date: 2018/8/10 * Time: 9:16 */ function create_png($text, $logo = false, $outfile = false, $level = 'H', $size = 10, $margin = 2, $saveandprint=false) { if ( $outfile ) { if (!file_exists(dirname($outfile))){ mkdir(dirname($outfile),0777,true); } \PHPQRCode\QRcode::png($text, $outfile, $level, $size, $margin, $saveandprint); $QR = file_get_contents($outfile); } else { ob_start(); \PHPQRCode\QRcode::png($text, $outfile, $level, $size, $margin, $saveandprint); $QR = ob_get_contents(); ob_end_clean(); } $logopath = ROOT_PATH.'public/static/platform/images/yycxlogo.png'; //合并logo if ( $logo !== false && $logo = file_get_contents($logopath) ) { $QR = imagecreatefromstring($QR); $logo = imagecreatefromstring($logo); $QR_width = imagesx($QR);//二维码图片宽度 $QR_height = imagesy($QR);//二维码图片高度 $logo_width = imagesx($logo);//logo图片宽度 $logo_height = imagesy($logo);//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); //logo不失真 $dstX = $QR_width/2 - $logo_width/2; $dstY = $QR_width/2 - $logo_width/2; imagecopyresampled($QR, $logo, $dstX, $dstY, 0, 0, $logo_width, $logo_height, $logo_width, $logo_height); if ( $outfile ) { imagepng($QR, $outfile); } else { ob_start(); imagepng($QR); ob_get_contents(); ob_end_clean(); } } return substr($outfile,1); }
正文
php生成二维码php生成二维码
由于无法甄别是否为投稿用户创作以及文章的准确性,本站尊重并保护知识产权,根据《信息 *** 传播权保护条例》,如我们转载的作品侵犯了您的权利,请在一个月内通知我们,请将本侵权页面网址发送邮件到qingge@88.com,我们会做删除处理。
-- 展开阅读全文 --