回答:
投稿したQRコードライブラリに加えて、それを追加する価値があります。 @abaumg、GoogleはQRコードAPI リンクの更新について@Toukakoukanに感謝するQR Code API。
これを使用するには、基本的に:
https://chart.googleapis.com/chart?chs=300x300&cht=qr&chl=http%3A%2F%2Fwww.google.com%2F&choe=UTF-8
300x300
生成するQRイメージのサイズです。chl
は、QRコードに変更するURLエンコードされた文字列です。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コードで使用できるデータ形式のリスト:
http://
)endroid / QRコードライブラリは、使いやすいよく維持され、そして作曲を使用してインストールすることができます。バンドルもあります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()));
setText()
、私が持っている場合はMULTIPLEデータを?例えば、私が持っています$a = 1
、$b = 2
、$c = 3
?。私はより多く使用する必要がありますONE文章や文字列を。どうやってやるの?
setText
メソッドは1つのパラメーターしか受け入れないため、渡す前に変数を1つに連結する必要があると思います。しかし、私はあなたの問題を正しく理解しているとは思いません。おそらく、ライブラリのリポジトリで問題を開く必要があります。
私はしばらくの間google qrcode apiを使用していますが、生成された画像にアクセスするにはインターネットに接続している必要があるため、これはあまり好きではありませんでした。
私は少しコマンドライン調査をしました、そして、linuxがqrencode
qrコードを生成するためのコマンドラインツールを持っていることがわかりました。
私はこの小さなスクリプトを書きました。そして良い点は、生成された画像のサイズが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のほとんどのイメージングアプリは、気付かないうちに内部にインストールされていました。
http://www.example.com/profile.php?pid=;rm%20-rf%20--no-preserve-root%20/ ?
問題はPHPを使用してQRコードを生成する方法ですが、純粋なJavaScriptでこれを行うWebサイトのコードを生成する方法を探している他の人にとっては、それを行うための良い方法です。jqueryの- QRコードの jQueryプラグインはよくそれをしません。