Home  >  Article  >  Backend Development  >  Thinkphp3.2.3 integrates phpqrcode to generate QR code sample code sharing

Thinkphp3.2.3 integrates phpqrcode to generate QR code sample code sharing

黄舟
黄舟Original
2017-03-24 15:27:351933browse

There is no QR code related library in Thinkphp, so we can complete the function of generating QR codes by integrating phpqrcode.

Download phpqrcode

Integrate into Thinkphp framework

Create a new directory phpqrcode under "ThinkPHP\Library\Vendor\" and extract the contents of the compressed package to this folder Down.

Call phpqrcode to generate QR code

Add the following method under the IndexController controller:

public function qrcode($url="www.baidu.com",$level=3,$size=4)
    {
              Vendor('phpqrcode.phpqrcode');              
              $errorCorrectionLevel =intval($level) ;//容错级别 
              $matrixPointSize = intval($size);//生成图片大小 
             //生成二维码图片 
              $object = new \QRcode();              
              $object->png($url, false, $errorCorrectionLevel, $matrixPointSize, 2);   
    }

Visit: 127.0.0.1/Index/qrcode to see the generated QR code QR code.

Generate a QR code with logo

First call phpqrcode to generate a QR code, and then use php's image related functionAdd the logo image to the generated QR code on the picture.

include 'phpqrcode.php';    
$value = 'http://www.cnblogs.com/txw1958/'; 
//二维码内容   
$errorCorrectionLevel = 'L';//容错级别   
$matrixPointSize = 6;//生成图片大小   //生成二维码图片   
QRcode::png($value, 'qrcode.png', $errorCorrectionLevel, $matrixPointSize, 2);   
$logo = 'logo.png';//准备好的logo图片   
$QR = 'qrcode.png';//已经生成的原始二维码图   
if ($logo !== FALSE) {   
    $QR = imagecreatefromstring(file_get_contents($QR));   
    $logo = imagecreatefromstring(file_get_contents($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);   
}   
//输出图片   imagepng($QR, 'helloweixin.png');   
echo '';

Related articles:

How to obtain thinkphp3.2.3 upload file path

##Example of Thinkphp3.2.3 integrating phpqrcode to generate QR code Code sharing

PHP implements file upload without page refresh

Uses Html5 to implement asynchronous file upload, supports cross-domain, and has upload progress bar

The above is the detailed content of Thinkphp3.2.3 integrates phpqrcode to generate QR code sample code sharing. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn