머리말
팀 기능의 필요로 인해 우리가 제공한 URL을 기반으로 QR 코드를 생성할 수 있는 작업을 만들기 위해 PHP를 사용해야 합니다. 나중에 여기에 요약하겠습니다.
구매를 시작했습니다
처음에 방향을 잘못 잡았습니다. 당시 생각은 'QR코드를 생성하려면 QR코드의 생성 메커니즘을 알아야 하므로 검색해봤습니다. 인터넷에서 QR 코드를 검색하여 얻은 결과는 다음과 같습니다.
我粗略读了一遍之后顿悟: 显然,这不是我想要的(如果研究这东西,估计未来几周不用干别的了)
On the right track
잘못된 방향으로 갔지만 QR 코드도 간략하게 이해했습니다. 그러면 우리에게 필요한 기능을 어떻게 구현할 수 있을까요? ? 이번에는 단순하고 투박하게 하기로 결정했습니다.
Google은 나를 속이지 않을 것입니다. 누군가가 이미 나보다 먼저 이러한 기능을 작성했기 때문에 나는 올바른 길을 가기 시작했습니다.
전체 아이디어
- 우리에게 필요한 기능은 이미 인터넷에서 PHP로 작성되어 있습니다. Think에서 라이브러리를 인용한 것처럼 인터넷에서 QR 코드를 생성할 수 있는 라이브러리를 다운로드한 후 인용하면 됩니다. . 이제 빠르고 편리하게 QR코드를 생성할 수 있습니다. 아이디어가 확정되었으면 작업을 시작하겠습니다.
저자는 두 가지 방법을 찾았고, 결국 두 번째 방법을 사용했습니다.
방법 1: Composer 및 endroid/QrCode
- php에서 타사 라이브러리를 다운로드할 때, php의 도둑인 작곡가를 언급해야 합니다. php 인터넷에서 다른 클래스 라이브러리를 다운로드하는 데 도움이 되는 강력한 라이브러리 관리 도구입니다. 이 마법 같은 기능은 공식 문서에도 소개되어 있습니다(아래 참조).
- 현재 저자는 Windows 환경을 사용하고 있습니다. 공식 문서에 따르면 링크를 다운로드하고 다음으로 행복한 여행을 시작하세요. 그러면 문제가 발생합니다
이 사진은 제가 온라인에서 찾은 사진입니다(초보자 튜토리얼: 작곡가 설치에서). 그래서 헷갈렸는데 이게 무슨 뜻인가요?
생각해 보니 우리가 설치한 관리 도구는 php와 관련이 있고, 초보자 튜토리얼 사진에서 php.exe 파일을 찾아야 하는데, 이는 다음과 같은 질문으로 이어집니다: php는 어디에 있나요?
-
XAMPP
Baidu 백과사전: XAMPP(Apache+MySQL+PHP+PERL)는 통합 소프트웨어 패키지를 구축하는 강력한 웹사이트입니다. 우리가 사용하는 xampp이 php를 통합하는 것을 볼 수 있습니다. 다음으로 파일 찾기를 시작하세요
找到文件,安装完成,在我们的thinphp5文件夹下,输入指令来安装好第三方库 $ composer require endroid/qr-code
이렇게 해서 코드를 개발하고 싶다면 이 블로그를 참고하세요.
http://www.cnbreak.org/biancheng/thinkphp5/wechatwebpage/760.html
방법 2: phpqrcode 사용하기
작가가 이 방법을 사용하는데, 비교적 사용하기가 간단합니다(하지만 불가능할 것 같습니다) thinkphp6에서 사용), 타사 라이브러리를 온라인으로 직접 다운로드합니다
다운로드 링크 https://sourceforge.net/projects/phpqrcode/files/releases
공식 문서 http://phpqrcode.sourceforge.net/docs/html /annotated.html
다운로드 후
참고: 확장 디렉토리에 있어야 합니다
우리가 Composer로 다운로드한 라이브러리는 벤더에 있으며, 외부에서 다운로드한 타사 라이브러리는 확장에 있는 경우에만 작동합니다. .
다음은 두 번째 방법에 대한 코드입니다
function qrcode($level = 'L', $size = 4){ // 导入Phpqrcode插件文件require_once EXTEND_PATH.'phpqrcode/phpqrcode.php'; //设置url $url1 = 'https://www.baidu.com/s?wd=666&rsv_spt=1&rsv_iqid=0xfea0cab90000241d&issp=1&f=8&rsv_bp=1&rsv_idx=2&ie=utf-8&tn=baiduhome_pg&rsv_enter=1&rsv_dl=ib&rsv_sug3=4&rsv_sug1=3&rsv_sug7=100&rsv_sug2=0&rsv_btype=i&inputT=528&rsv_sug4=1203'; // 容错级别 $errorCorrectionLevel = $level; // 生成图片大小 $matrixPointSize = intval($size); // 生成二维码图片 $object = new QRcode(); // 这个一定要加上,清除缓冲区 ob_end_clean(); // 第二个参数false的意思是不生成图片文件,如果你写上‘picture.png’则会在根目录下生成一个png格式的图片文件 $object->png($url1, false, $errorCorrectionLevel, $matrixPointSize, 2); }
관련 매개변수의 의미:
- $text는 url 매개변수
- $outfile입니다. 파일이 생성되지 않고 QR 코드 이미지만 반환됩니다. 그렇지 않으면 저장 경로가 제공되어야 합니다.
- $level QR 코드 오류 허용률. , 기본값 L(7%), M( 15%), Q(25%), H(30%)
- $size QR 코드 이미지 크기, 기본값 4
- $margin QR 코드 공백 크기
- $saveabdprint QR 코드 저장 및 표시, $outfile 경로가 전달되어야 함
- $back_color 배경색
- $fore_color QR 코드를 그리는 색상
- tip: 색상은 16진수 색상 값으로 전달되어야 하며, "#"을 "로 대체해야 합니다. 0x"; 예: #FFFFFF => 0xFFFFFF
Summary
함수를 구현하려고 할 때 일반적으로 누군가가 우리보다 먼저 이런 내용을 작성했을 것입니다. 먼저 이 함수의 구현 아이디어를 연구해야 합니다. 그런 다음 이를 찾는 방법을 생각해 보세요. 관련 문서 메서드를 사용하여 기능을 구현할 수 있습니다.