이 기사에서는 thinkphp5 프레임워크에서 QR 코드를 생성하는 방법을 설명합니다. (코드), 특정 참고 가치가 있습니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.
더 이상 고민하지 말고 코드부터 시작해 보겠습니다.
첫 번째 방법: 파일을 로컬에 저장할 필요 없이 첫 페이지에 직접 표시합니다.
이것은 컨트롤러에 있는 콘텐츠입니다. 아, 그런데, 먼저 SDK를 다운로드하세요:.phpqrcode 클래스 파일 다운로드, 다운로드 주소: https://sourceforge.net/projects/phpqrcode/
플러그인 전용: 다운로드한 클래스 파일은 많은 파일과 데모 프로그램이 포함된 압축 패키지입니다. 내부에는 phpqrcode.php만 필요합니다. 이 파일은 QR 코드를 생성할 수 있습니다. 여러 클래스의 모음 파일입니다. 내부의 QRcode 클래스(라인 2963)의 png() 메서드(라인 3090)를 사용해야 합니다.
파일은 프레임워크 확장 파일에 있으며 폴더 이름을 직접 지정할 수 있습니다. 내 파일은 PhpQrcode입니다. 내부 파일은 다음과 같습니다. phpqrcode.php
<?php namespace app\index\controller; use think\Controller; use think\Loader; Loader::import('PhpQrcode.phpqrcode',EXTEND_PATH,'.php'); class Index extends Controller { //ajax访问 //通过链接生成二维码 public function code($url = "http://www.baidu.com") { $qrcode = new \QRcode(); // $qrimage = new \QRimage(); $value = $url; //二维码内容 $errorCorrectionLevel = 'H'; //容错级别 $matrixPointSize = 6; //生成图片大小 ob_start(); $qrcode::png($value,false , $errorCorrectionLevel, $matrixPointSize, 2); // $object->png($url, false, $errorCorrectionLevel, $matrixPointSize, 2); //这里就是把生成的图片流从缓冲区保存到内存对象上,使用base64_encode变成编码字符串,通过json返回给页面。 $imageString = base64_encode(ob_get_contents()); //关闭缓冲区 ob_end_clean(); //把生成的base64字符串返回给前端 $data = array( 'code'=>200, 'data'=>$imageString ); return json($data); } }
Front-end 파일: 물론 제가 사용하는 jquery는 비교적 오래되었으므로 유용합니다. jquery를 직접 변경해 보세요.
<div id="logos"> <button onclick="changess()">点击</button> <img src="" class="qrcode" alt="二维码展示"/> </div> <script type="text/javascript" src="__INDEX__js/jquery.js"></script> <script type="text/javascript"> function changess() { var logos = document.getElementById ('logos'); $.ajax({ type: "GET", url: "code.html", data: '', dataType: "json", success: function(r){ if (r.code==200) { //console.log(r); var path = 'data:image/png;base64,'+r.data; //给img的sec赋值。 console.log(path); $("#logos").html("<img src="+path+">"); logos.html("<img src="+path+">"); console.log( logos.html("<img src="+path+">")); }else{ alert(r.err); } } }); } </script>
위 내용은 thinkphp5 프레임워크에서 QR 코드를 생성하는 방법은 무엇입니까? (암호)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!