동적으로 PHP과 QR코드 생성.
제 웹 사이트에서 큐알 코드를 생성하는 데 노력하고 있어요.그들이 할 일은 그들에, 저의 사이트에 변수는 줄 수 있는 URL이 있는 날이다.무엇일까 가장 쉬운 방법은 이것을 해야 하나?
QR코드 도서관@ abaumg이 올린 것 외에 구글 @ Toukakoukan 링크 업데이트에 대한 QR코드 APIQR코드 APImany 감사를 제공한다를 추가할 가치가 있어요.
, 기본적으로 이것을 사용하려면:
https://chart.googleapis.com/chart?chs=300x300&cht=qr&chl=http%3A%2F%2Fwww.google.com%2F&choe=UTF-8
300x300
당신 generate,고 싶어 큐알 이미지의 사이즈.- 그
chl
당신은 QR코드로 바꾸기 원하는url-encoded 문자열,. - 그
choe
그(선택적)인코딩입니다.
링크, 위, 있는 사용할 더 자세한 사항을 준다.src
다음과 같이 이미지 포인트를 조작된 값으로 설정합니다.
<img src="https://chart.googleapis.com/chart?chs=300x300&cht=qr&chl=http%3A%2F%2Fwww.google.com%2F&choe=UTF-8" title="Link to Google.com" />
데모:
PHP로 QR코드를 생성하는 가장 쉬운 방법은 phpqrcode 라이브러리입니다.
phpqrcode 라이브러리는 구성이 매우 빠르고 API 문서를 이해하기 쉽습니다.
abaumg의 답변 외에 2개의 예를 첨부했습니다.PHP
http://phpqrcode.sourceforge.net/examples/index.php 에서
1. QR코드 인코더
먼저 로컬 경로에서 라이브러리를 포함합니다.
include('../qrlib.php');
PNG 스트림과 같이 이미지를 직접 출력하려면 다음과 같이 하십시오.
QRcode::png('your texte here...');
결과를 PNG 이미지로 로컬에 저장하려면:
$tempDir = EXAMPLE_TMP_SERVERPATH;
$codeContents = 'your message here...';
$fileName = 'qrcode_name.png';
$pngAbsoluteFilePath = $tempDir.$fileName;
$urlRelativeFilePath = EXAMPLE_TMP_URLRELPATH.$fileName;
QRcode::png($codeContents, $pngAbsoluteFilePath);
2. QR코드 디코더
zxing 디코더도 참조하십시오.
http://zxing.org/w/decode.jspx
출력 확인에 도움이 됩니다.
3. 데이터 형식 목록
데이터 유형에 따라 QR 코드에서 사용할 수 있는 데이터 형식 목록:
- 웹사이트 URL : http://stackoverflow.com (프로토콜 포함)
http://
) - 이메일 주소: mailto: name@example.com
- 전화번호: +1636553344 (국가코드 포함)
- SMS 메시지: smsto: 번호: 메시지
- MMS 메시지: mms: 번호: 제목
- YouTube 동영상 : youtube : //ID (iPhone에서 동작 가능, 표준화되지 않음)
Endroid/QrCode 라이브러리는 사용하기 쉽고 유지보수가 잘 되며 컴포저를 사용하여 설치할 수 있습니다.Symfony에서 직접 사용할 번들도 있습니다.
설치 중:
$ composer require endroid/qrcode
사용방법:
<?php
use Endroid\QrCode\QrCode;
$qrCode = new QrCode();
$qrCode
->setText('Life is too short to be generating QR codes')
->setSize(300)
->setPadding(10)
->setErrorCorrection('high')
->setForegroundColor(array('r' => 0, 'g' => 0, 'b' => 0, 'a' => 0))
->setBackgroundColor(array('r' => 255, 'g' => 255, 'b' => 255, 'a' => 0))
->setLabel('Scan the code')
->setLabelFontSize(16)
->setImageType(QrCode::IMAGE_TYPE_PNG)
;
// now we can directly output the qrcode
header('Content-Type: '.$qrCode->getContentType());
$qrCode->render();
// or create a response object
$response = new Response($qrCode->get(), 200, array('Content-Type' => $qrCode->getContentType()));
qrcode-generator를 사용할 수 있습니다.가장 간단한 대본과 마법처럼 작동합니다.
장점:
- 서드파티 의존관계 없음
- QR코드 생성 수 제한 없음
문제는 어떻게 PHP를 사용하여 QR코드를 생성하느냐는 것이지만, 순수 자바스크립트로 이를 수행하는 웹사이트의 코드를 생성하는 방법을 찾고 있는 다른 사람들에게는 좋은 방법입니다.jquery-qrcode jquery 플러그인이 이 기능을 합니다.
구글 qrcode api를 사용하고 있습니다만, 생성된 이미지에 접속하려면 인터넷에 접속해야 하기 때문에 별로 마음에 들지 않았습니다.
툴 「Linux」가 것을 되었습니다.qrencode
qr-time 생성에 됩니다.
이 작은 대본을 내가 썼어또한 생성된 이미지의 크기가 1KB 미만인 것이 장점입니다.제공된 데이터는 단순한 URL입니다.
$url = ($_SERVER['HTTPS'] ? "https://" : "http://").$_SERVER['HTTP_HOST'].'/profile.php?id='.$_GET['pid'];
$img = shell_exec('qrencode --output=- -m=1 '.escapeshellarg($url));
$imgData = "data:image/png;base64,".base64_encode($img);
그런 다음 html에서 이미지를 로드합니다.
<img class="emrQRCode" src="<?=$imgData ?>" />
설치만 하면 됩니다.[Linux의 대부분의 이미징 앱은 자신도 모르게 보닛 아래에 설치되어 있을 것입니다.
언급URL : https://stackoverflow.com/questions/5943368/dynamically-generating-a-qr-code-with-php
'programing' 카테고리의 다른 글
Java 8 Map의 putIfAbsent와 computeIfAbsent의 차이점은 무엇입니까? (0) | 2022.09.21 |
---|---|
CSV MIME 타입의 사용 방법 (0) | 2022.09.21 |
JWT를 ReactJs와 함께 localStorage에 저장해도 안전합니까? (0) | 2022.09.21 |
MySQL에서 텍스트 열에 기본값을 지정할 수 없는 이유는 무엇입니까? (0) | 2022.09.21 |
Node.js에서 Sequelize를 사용하여 조인 쿼리를 만드는 방법 (0) | 2022.09.21 |