Web sitemde QR kodları oluşturmaya çalışıyorum. Yapmaları gereken tek şey, sitemdeki bir değişkenin sağlayacağı bir URL'ye sahip olmak. Bunu yapmanın en kolay yolu ne olabilir?
Web sitemde QR kodları oluşturmaya çalışıyorum. Yapmaları gereken tek şey, sitemdeki bir değişkenin sağlayacağı bir URL'ye sahip olmak. Bunu yapmanın en kolay yolu ne olabilir?
Yanıtlar:
Google, @abaumg tarafından yayınlanan QR kodları kitaplığına ek olarak , Google'ınQR Kodları API'si QR Codes API , bağlantı güncellemesi için @Toukakoukan'a çok teşekkürler .
Bunu kullanmak için temel olarak:
https://chart.googleapis.com/chart?chs=300x300&cht=qr&chl=http%3A%2F%2Fwww.google.com%2F&choe=UTF-8
300x300
oluşturmak istediğiniz QR görüntüsünün boyutudur,chl
Eğer bir QR koduna değiştirmek istediğiniz url kodlanmış dize vechoe
(isteğe bağlı) kodlamasıdır.Yukarıdaki bağlantı daha fazla ayrıntı verir, ancak onu kullanmak için yalnızca src
bir görüntünün manipüle edilen değere işaret etmesini sağlayın, örneğin:
<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" />
Demo:
PHP ile QR kodları oluşturmanın en kolay yolu phpqrcode kitaplığıdır .
Phpqrcode kütüphane configure gerçekten hızlı ve API belgeleri anlamak kolaydır.
Abaumg'un cevabına ek olarakPHP
, http://phpqrcode.sourceforge.net/examples/index.php adresinden 2 örnek ekledim.
1. QR kod kodlayıcı
önce kütüphaneyi yerel yolunuzdan ekleyin
include('../qrlib.php');
daha sonra görüntüyü doğrudan PNG akışı olarak çıkarmak için şunları yapın:
QRcode::png('your texte here...');
sonucu yerel olarak bir PNG resmi olarak kaydetmek için:
$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 kodu çözücü
Ayrıca zxing kod çözücüsüne bakın :
http://zxing.org/w/decode.jspx
Çıktıyı kontrol etmek oldukça kullanışlı.
3. Veri formatı listesi
Veri türüne göre QR kodunuzda kullanabileceğiniz veri formatı listesi:
http://
)Endroid / qrcode kütüphane , kullanımı kolay bakımlı ve besteci kullanılarak kurulabilir. Doğrudan Symfony ile kullanabileceğiniz bir paket de vardır .
Kurulum:
$ composer require endroid/qrcode
Kullanım:
<?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()));
setText()
ben varsa BİRDEN verileri? Örneğin, ben var $a = 1
, $b = 2
, $c = 3
?. Birden fazla kullanmak gerekir BİR cümle ya da dize. Bunu nasıl yapabilirim?
setText
yöntemi yalnızca bir parametre kabul Bunu geçirmeden önce birinin içine değişkenleri bağlamak gerekir sanırım. Ama sorununuzu doğru anladığımdan emin değilim, belki kütüphanenin deposunda bir sayı açmalısınız.
Github'da qrcode-generator . En basit senaryo ve cazibe gibi çalışır.
Artıları:
Bir süredir google qrcode api kullanıyorum, ancak bundan pek hoşlanmadım çünkü oluşturulan görüntüye erişmek için internette olmamı gerektiriyor.
Küçük bir komut satırı araştırması yaptım ve qrencode
linux'un qr kodları oluşturmak için bir komut satırı aracı olduğunu öğrendim .
Bu küçük senaryoyu yazdım. İşin iyi yanı, oluşturulan görüntünün boyutunun 1KB'den küçük olmasıdır. Sağlanan veriler basitçe bir url'dir.
$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);
Sonra html'de resmi yükledim:
<img class="emrQRCode" src="<?=$imgData ?>" />
Sadece yüklemiş olmanız gerekiyor. [linux üzerindeki çoğu görüntüleme uygulaması, siz farkında olmadan onu kaputun altına yüklerdi.
Sorunun PHP kullanarak QR kodlarının nasıl üretileceği olduğunu biliyorum, ancak bunu saf javascript ile yapan web siteleri için kod üretmenin bir yolunu arayanlar için bunu yapmanın iyi bir yolu. Jquery-qrcode jquery eklentisi iyi yapar.