가장 간단하고 가장 실례가 되는 goolge 오픈소스 방법
1.구글 오픈 API
코드는 다음과 같습니다.
$urlToEncode="http://www.helloweba.com";
generateQRfromGoogle($urlToEncode);
/**
* google apiQR코드 생성 [QRcode는 최대 4296개의 영숫자 타입의 임의의 텍스트를 저장할 수 있으며, QR코드 데이터 형식을 볼 수 있습니다]
* @param string $chl QR코드에 포함된 정보는 숫자, 문자, 이진 정보, 한자일 수 있습니다。
데이터 유형을 혼합할 수 없습니다. 데이터는 반드시 통과해야 합니다UTF-8 URL-encoded
* @param int $widhtHeight QR코드 생성 크기 설정
* @param string $EC_level 옵션 오류 정정 수준, QR코드는 손실, 잘못 읽은, 흐릿한, 데이터를 복구하는 4단계 오류 정정을 지원합니다。
* L-기본: 손실된 데이터 7%를 인식할 수 있습니다
* M-15% 손실된 데이터를 식별할 수 있다
* Q-25% 손실된 데이터를 식별할 수 있습니다
* H-30% 이상 손실된 데이터를 식별할 수 있다
* @param int $margin 생성된 QR코드 그림 테두리로부터의 거리
*/
function generateQRfromGoogle($chl,$widhtHeight ='150',$EC_level='L',$margin='0')
{
$chl = urlencode($chl);
echo '<img src="http://chart.apis.google.com/chart?chs='.$widhtHeight.'x'.$widhtHeight.'
&cht=qr&chld='.$EC_level.'|'.$margin.'&chl='.$chl.'" alt="QR code" widhtHeight="'.$widhtHeight.'
" widhtHeight="'.$widhtHeight.'"/>';
}
라이브러리. 2.php PHP QR Code
주소:http://phpqrcode.. sourceforge.net /
다운로드:http://sourcefor.ge.net/projects/phpqrcode/.
다운로드 공식 홈페이지에 제공한 후, 라이브러리만 했다.사용해야 할 수 있어 2차원 바코드 생성 phpqrcode.php 당신의 환경 물론 필수다. PHP지지하고 있다. 열 GD2중요할 때 phpqrcode.php 방법으로 이 중 인자 png ( ). $ text2위를 차지한 정보의 생성에 대해 텍스트를 출력 매개 변수는, 그림 2차원 바코드 $ outfile 문서는 아니오, 기본 값으로 매개 변수에 대해서 내 고장성 $ level을 덮은 구역이 있을 수 있고, 식별은 각각 7%), L ( QR_ECLEVEL_L을 15%)M ( QR_ECLEVEL_M을 25%), Q ( QR_ECLEVEL_Q을 30%인자 H ( QR_ECLEVEL_H는 태어나서 ) ; 사진 크기 $ size을 기본 값은 2차원 바코드 표시 주변에 인자 3 ; 프레임 $ margin 구역 사이 공백치를 기록했고, 매개 변수를 저장할지에 대해 2차원 바코드 $ saveandprint.
아래와 같이 코드다.
public static function png($text, $outfile=false, $level=QR_ECLEVEL_L, $size=3, $margin=4,
$saveandprint=false)
{
$enc = QRencode::factory($level, $size, $margin);
return $enc->encodePNG($text, $outfile, $saveandprint=false);
}
PHP QR Code 호출:
include 'phpqrcode.php';
QRcode::png('http://www.helloweba.com');
실제로 QR코드 중간에 자체 로고를 넣어 홍보 효과를 높였다.그러면 로고가 들어간 QR코드를 어떻게 생성하나요?PHP QR코드를 이용해 QR코드 이미지를 생성한 뒤 php의 image 관련 함수를 이용해 미리 준비한 로고 이미지를 새로 생성한 원본 QR코드 이미지 사이에 넣은 뒤 새로운 QR코드 이미지를 생성하는 간단한 원리다.
include 'phpqrcode.php';
$value = 'http://www.helloweba.com'; //QR코드 내용
$errorCorrectionLevel = 'L';//오류 허용 등급
$matrixPointSize = 6;//그림 크기 생성
//QR코드 이미지 생성
QRcode::png($value, 'qrcode.png', $errorCorrectionLevel, $matrixPointSize, 2);
$logo = 'logo.png';//준비된 로고 이미지
$QR = 'qrcode.png';//생성된 원시 QR 그림
if ($logo !== FALSE) {
$QR = imagecreatefromstring(file_get_contents($QR));
$logo = imagecreatefromstring(file_get_contents($logo));
$QR_width = imagesx($QR);//QR코드 폭
$QR_height = imagesy($QR);//QR코드 이미지 높이
$logo_width = imagesx($logo);//로고 이미지 너비
$logo_height = imagesy($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, 'helloweba.png');
echo '<img src="helloweba.png">';
두 번째 방법은 $filename을 사용하지 않고 두 번째 파라미터가 false일 경우 QR코드 이미지를 저장하지 않고 출력한다.
현재 libqrencode와 QRcode Perl CGI & PHP Scripts QR코드 생성 플러그인이 있습니다.집이 좋아도 구경할 수 있다.
3.jquery의 QR코드를 기반으로 플러그인qrcode를 생성하고, 이 플러그인을 페이지에서 호출하면 대응하는 QR코드를 생성할 수 있다.
qrcode는 사실 jQuery를 사용하여 그래픽 렌더링, 그래픽, canvas(HTML5) 및 table 두 가지 방식을 지원합니다.
GitHub - jeromeetienne/ jquery-qrcode: qrcode generation standalone (doesn't depend on external services) 최신 코드를 가져옵니다.
어떻게 사용하는가
(1)먼저 페이지에 jquery 라이브러리 파일과 qrcode 플러그인을 넣는다.
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.qrcode.min.js"></script>
(2)·페이지에서 QR코드를 표시해야 하는 곳에 다음 코드를 넣어주세요
<div id="code"></div>
(3).qrcode 플러그인을 불러옵니다.
qrcode는 canvas와 t를 지원합니다able은 두 가지 방식으로 이미지를 렌더링하고 기본적으로 canvas 방식을 사용하므로 가장 효율적이며, 당연히 브라우저에서 html5를 지원해야 한다.직접 호출은 다음과 같습니다.
$("#code").qrcode({
render: "table", //table방식
width: 200, //너비
height:200, //높이
text: "www.helloweba.com" //임의 내용
});
이렇게 하면 페이지에서 바로 QR코드를 생성할 수 있고, 휴대전화 '싹쓸이' 기능으로 QR코드 정보를 읽을 수 있다.
(4).중국어를 인식하다
우리가 실험했을 때 중국어 내용을 인식할 수 없는 QR코드를 발견했는데, 여러 자료를 찾아보니 jquery-qrcode는 c로harCodeAt() 방식으로 코딩 변환됩니다.이 방법은 기본적으로 유니코드 코드를 획득하는데, 만약 중국어 콘텐츠가 있다면 QR코드를 생성하기 전에 문자열을 UTF-8로 변환한 후 QR코드로 재생한다.다음 함수로 중국어 문자열을 변환할 수 있습니다.
function toUtf8(str) {
var out, i, len, c;
out = "";
len = str.length;
for(i = 0; i < len; i++) {
c = str.charCodeAt(i);
if ((c >= 0x0001) && (c <= 0x007F)) {
out += str.charAt(i);
} else if (c > 0x07FF) {
out += String.fromCharCode(0xE0 | ((c >> 12) & 0x0F));
out += String.fromCharCode(0x80 | ((c >> 6) & 0x3F));
out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F));
} else {
out += String.fromCharCode(0xC0 | ((c >> 6) & 0x1F));
out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F));
}
}
return out;
}
다음 예:
var str = toUtf8("프로방스에는 이야기가 없다");
$('#code').qrcode(str);
'개발 꿀팁 > PHP' 카테고리의 다른 글
PHP가 난수를 생성하는 몇 가지 방법 (0) | 2022.07.06 |
---|---|
자체 PHP MVC 프레임워크 개발 (1) (0) | 2022.07.06 |
php와 Mysql 데이터베이스를 이용하여 사용자 등록 로그인 등 조작 완료 (0) | 2022.07.05 |
Mac 자체 PHP 작동 php-fpm 문제 해결 (0) | 2022.07.05 |
php 위조 프로토콜, 파일 포함 취약성 (0) | 2022.07.05 |