Thinkphp does not have a QR code-related library, so we can integrate phpqrcode to achieve the function of generating QR code.
Download Phpqrcode
Integration into the thinkphp framework
Under "Thinkphp\library\vendor\", create a new directory Phpqrcode to extract the contents of the compressed package to this folder.
Call Phpqrcode to generate two-dimensional 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);//Fault tolerance level $matrixPointSize = Intval ($size);//Generate picture size //generate QR code picture $ Object = new \qrcode (); $object->png ($url, False, $errorCorrectionLevel, $matrixPointSize, 2); }
Access: 127.0.0.1/index/qrcode to see the generated QR code.
Create a QR code with logo
Call Phpqrcode to generate a QR code, and then use PHP's image correlation function to add the logo image to the generated QR code image.
Include ' phpqrcode.php '; $value = ' http://www.cnblogs.com/txw1958/'; QR Code content $errorCorrectionLevel = ' L ';//fault tolerance level $matrixPointSize = 6;//Generate picture size//generate QR code picture qrcode::p ng ($value, ' qrcode.png ', $errorCorrectionLevel, $matrixPointSize, 2); $logo = ' logo.png ';///Ready logo image $QR = ' qrcode.png ';//The original two-dimensional code figure already generated if ($logo!== FALSE) {$QR = Imagecreatefromstr ING (file_get_contents ($QR)); $logo = imagecreatefromstring (file_get_contents ($logo)); $QR _width = Imagesx ($QR);//QR code image width $QR _height = Imagesy ($QR);//QR code image height $logo _width = imagesx ($logo);//logo Picture width $logo _height = Imagesy ($logo),//logo picture height $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; Regroup the picture and resize imagecopyresampled ($QR, $logo, $from _width, $from _width, 0, 0, $logo _qr_width, $logo _qr_height, $logo _width, $logo _height); }//Output picture imagepng ($QR, 'Helloweixin.png '); Echo ' ';
Related articles:
How to get thinkphp3.2.3 upload file path
Thinkphp3.2.3 Integration Phpqrcode Sample code sharing for generation of QR codes
PHP Implementation page No refresh upload file
Asynchronous uploading of files using HTML5, support for cross-domain, with upload progress bar