ホームページ バックエンド開発 PHPチュートリアル PHP_PHP チュートリアルを使用して QR コードを生成する

PHP_PHP チュートリアルを使用して QR コードを生成する

Jul 13, 2016 am 10:29 AM
ウェブ開発 エンタープライズセキュリティ 情報技術 セキュリティソフト データベース モバイル開発 システムセキュリティ ウェブサイトのセキュリティ サイバーセキュリティ ネットワーク技術 ソフトウェア開発

パラメータの説明:

cht=qr: 必須パラメータ、固定値 、QR コードが生成されることを示します
chs=x: 必要なパラメータ、生成される QR コードのサイズ、単位はピクセル、現在生成される QR コードはすべて正方形であるため、幅と高さの値は両方とも同じ値に設定されます
chl=: QR コードに含まれる情報を生成するために必要なパラメータ。数字、文字、バイナリ情報、漢字などを指定できます。データ型を混合することはできず、データは UTF-8 URL エンコードされている必要があります。転送する必要がある情報が 2K バイトを超える場合は、POST メソッドを使用する必要があります
choe=: オプションのパラメータ、エンコード形式。 UTF-8/Shift_JIS/ISO-8859-1 の 3 つのオプションが含まれており、デフォルトは UTF-8 です。
chld=|: オプションのパラメータ、
error_correction_level: フォールト トレランス レベル (4 つのレベルに分かれており、L-デフォルト: 失われたデータの 7% を識別できます。M- 失われたデータの 15% を識別できます。Q- 失われたデータの 25% を識別できます) H- 30% 失われたデータを識別できます)
マージン:生成されたQRコードと画像の境界線との間の距離
例 1: QR コードをスキャンして URL (API) を開きます
コードをコピー
//urlencode でエンコードされた QR コード情報
$data = urlencode('http://www.baidu.com');
//QRコードのサイズを生成
$size = '300x300';
//完全な API アドレス
$qrurl = "http://chart.googleapis.com/chart?chs=$size&cht=qr&chl=$data&chld=L|1&choe=UTF-8";
//QRコードを取得
$qrcode = file_get_contents($qrurl);
//出力画像
header('Content-type: image/png');
$qrcode をエコー;
コードをコピー
Web サイトを開いた後、QR コードをスキャンしてアドレス帳に会社情報をインポートする、つまり QR コードに名刺情報を含めるという目的を実現する必要があります。コードとは単に情報の集まりを意味し、この情報の山がどのようなものであるかは重要ではありません。上記の例で言えば、QR コードをスキャンするためのツールです。 WeChat で QR コードをスキャンすると、WeChat は QR コードに保存されているデータを読み取り、コンテンツが Baidu URL であることを検出すると、同様にブラウザを使用してその URL を開きます。コンテンツは単純なテキスト データの束であり、テキスト形式で表示されます。同じ WeChat では、QR コードのコンテンツが vcard 形式の電子名刺であるかどうかを識別することもできます。この形式でエクスポートされるため、コードには標準の vcard 電子名刺が含まれており、これによりスキャン ツールが名刺をアドレス帳として認識できるようになります。
コードをコピー
vcard 形式のリファレンスは次のとおりです:
開始:VCカード
バージョン:3.0
FN: ユーザー名
電話番号;携帯電話;音声:18858140621
電話番号;職場;音声:0358-2157466
TEL;勤務先;FAX:0358-2157466
メール;都道府県;インターネット:lzw#lzw.me
URL: http://lzw.me
組織:Zhiwen Studio
役割:製品部門
役職:CTO
ADR;勤務先;郵便番号 100101、北京市朝陽区北四環中路 35 号
REV:2012-12-27T08:30:02Z
終了:Vカード
必要な形式をより詳細にカスタマイズしたい場合は、Baidu vcard 形式標準を使用してください。
コードをコピー
例 2: 名刺 QR コードを生成する (API)
コードをコピー
//vcard形式のデータを構築します
$vcard =
「開始:VCARD」。
「nVERSION:3.0」。
「nFN:シャオビアン・ルオルオ」。
「nTEL;CELL;VOICE:18858140621」。
「nTEL;WORK;VOICE:0358-2157466」
「nメール:luoluo@qq.com」。
「nURL:http://www.baidu.com」。
"nADR: 浙江省杭州市浜江区".
"nEND:VCARD";
//urlencode でエンコードされた QR コード情報
$data = urlencode($vcard);
//QRコードのサイズを生成
$size = '300x300';
//完全な API アドレス
$qrurl = "http://chart.googleapis.com/chart?chs=$size&cht=qr&chl=$data&chld=L|1&choe=UTF-8";
//QRコードを取得
$qrcode = file_get_contents($qrurl);
//出力画像
header('Content-type: image/png');
$qrcode をエコー;
コードをコピー
ここまでで、元に戻すという目的はほぼ達成できましたが、実際に使ってみると、上記で組み立てたURLをimgタグのsrc属性に直接追加したため、若干の問題が発生しました。データが 2K を超える場合、この記事の冒頭に赤いフォントでマークされている QR コード生成エラーが発生します。データが 2K を超える場合、get メソッドは最大 2K のデータしか転送できません。 POST リクエストなので、実際に使用する場合は、まず POST メソッドを使用して QR コードを取得し、ローカル画像として保存し、その後、ローカル画像を直接呼び出します。
方法 2: PHP QR CODE を使用して QR コードを生成する
公式ホームページ: http://phpqrcode.sourceforge.net
ダウンロードアドレス: http://sourceforge.net/projects/phpqrcode/
使用法: QRcode::png($data, $filename, $errorCorrectionLevel, $matrixPointSize, $margin);
* $data データ
* $filename は QR コードの保存パスを生成します false の場合はブラウザに直接出力されます
*$errorCorrectionLevel エラー処理レベル L、M、Q、H Google API のエラー修正レベルと同じです
* 各黒い点の $matrixPointSize ピクセル
* $margin 画像の周囲の白い境界線のピクセル
例 3: QR コードをスキャンして URL (phpqrcode) を開きます
コードをコピー
// qrlib.php または phpqrcode.php が含まれます
// qrlib.php を含むものは他のファイルと組み合わせる必要があります。phpqrcode.php はマージされたバージョンであり、このファイルを含める必要があるだけですが、生成される画像は遅くて不正確です
include('./phpqrcode/qrlib.php');
// QRコードデータ
$data = 'http://www.111cn.net';
// 補正レベル:L、M、Q、H
$errorCorrectionLevel = 'L';
//ポイントサイズ: 1 ~ 10
$matrixPointSize = 5;
QRcode::png($data, false, $errorCorrectionLevel, $matrixPointSize, 2);
コードをコピー
例2: 名刺QRコードを生成する(phpqrcode)
コードをコピー
// qrlib.php または phpqrcode.php が含まれます
include('./phpqrcode/qrlib.php');
//vcard データを構築する
$vcard =
「開始:VCARD」。
「nVERSION:3.0」。
「nFN:王歌」.
「nTEL;CELL;VOICE:18858140621」。
「nTEL;WORK;VOICE:0358-2157466」
「nメール:wang@qq.com」。
「nURL:http://www.mailuow.com」。
「nADR:浙江省杭州市浜江区江紅路1750号」
"nEND:VCARD";
// 補正レベル:L、M、Q、H
$errorCorrectionLevel = 'L';
//ポイントサイズ: 1 ~ 10
$matrixPointSize = 4;
QRcode::png($vcard, false, $errorCorrectionLevel, $matrixPointSize, 2);

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/771403.html技術記事パラメータの説明: cht=qr: 必要なパラメータ、固定値 qr、QR コードが生成されることを示します。 chs=widthxheight: 必要なパラメータ、生成される QR コードのサイズ、単位はピクセル、現在生成されている QR コードです。 ..
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

iOS 18では、紛失または破損した写真を復元するための新しい「復元」アルバム機能が追加されます iOS 18では、紛失または破損した写真を復元するための新しい「復元」アルバム機能が追加されます Jul 18, 2024 am 05:48 AM

Apple の最新リリースの iOS18、iPadOS18、および macOS Sequoia システムでは、さまざまな理由で紛失または破損した写真やビデオをユーザーが簡単に回復できるように設計された重要な機能が写真アプリケーションに追加されました。この新機能では、写真アプリのツール セクションに「Recovered」というアルバムが導入され、ユーザーがデバイス上に写真ライブラリに含まれていない写真やビデオがある場合に自動的に表示されます。 「Recovered」アルバムの登場により、データベースの破損、カメラ アプリケーションが写真ライブラリに正しく保存されない、または写真ライブラリを管理するサードパーティ アプリケーションによって失われた写真やビデオに対する解決策が提供されます。ユーザーはいくつかの簡単な手順を実行するだけで済みます

PHP で MySQLi を使用してデータベース接続を確立するための詳細なチュートリアル PHP で MySQLi を使用してデータベース接続を確立するための詳細なチュートリアル Jun 04, 2024 pm 01:42 PM

MySQLi を使用して PHP でデータベース接続を確立する方法: MySQLi 拡張機能を含める (require_once) 接続関数を作成する (functionconnect_to_db) 接続関数を呼び出す ($conn=connect_to_db()) クエリを実行する ($result=$conn->query()) 閉じる接続 ( $conn->close())

PHP でデータベース接続エラーを処理する方法 PHP でデータベース接続エラーを処理する方法 Jun 05, 2024 pm 02:16 PM

PHP でデータベース接続エラーを処理するには、次の手順を使用できます。 mysqli_connect_errno() を使用してエラー コードを取得します。 mysqli_connect_error() を使用してエラー メッセージを取得します。これらのエラー メッセージをキャプチャしてログに記録することで、データベース接続の問題を簡単に特定して解決でき、アプリケーションをスムーズに実行できるようになります。

他の Web 開発言語と比較した C++ の長所と短所は何ですか? 他の Web 開発言語と比較した C++ の長所と短所は何ですか? Jun 03, 2024 pm 12:11 PM

Web 開発における C++ の利点には、速度、パフォーマンス、低レベル アクセスが含まれますが、一方で、急峻な学習曲線やメモリ管理要件などの制限もあります。 Web 開発言語を選択する場合、開発者はアプリケーションのニーズに基づいて C++ の利点と制限を考慮する必要があります。

Golangでデータベースコールバック関数を使用するにはどうすればよいですか? Golangでデータベースコールバック関数を使用するにはどうすればよいですか? Jun 03, 2024 pm 02:20 PM

Golang でデータベース コールバック関数を使用すると、次のことを実現できます。 指定されたデータベース操作が完了した後にカスタム コードを実行します。追加のコードを記述せずに、個別の関数を通じてカスタム動作を追加します。コールバック関数は、挿入、更新、削除、クエリ操作に使用できます。コールバック関数を使用するには、sql.Exec、sql.QueryRow、または sql.Query 関数を使用する必要があります。

モバイルアプリ開発における C++ の可能性: 人材とリソース モバイルアプリ開発における C++ の可能性: 人材とリソース Jun 03, 2024 pm 03:11 PM

C++ は、大規模な開発者コミュニティと豊富な学習リソース、優れたパフォーマンスをもたらす、一度作成すれば Android、iOS、Windows で実行できる WORA モデルなどの理由から、モバイル開発において大きな可能性を秘めています。ゲームエンジンの開発に広く使用されており、低レイテンシーとリソース管理機能により、高パフォーマンスのゲーム要件を満たします。

GolangでJSONデータをデータベースに保存するにはどうすればよいですか? GolangでJSONデータをデータベースに保存するにはどうすればよいですか? Jun 06, 2024 am 11:24 AM

JSON データは、gjson ライブラリまたは json.Unmarshal 関数を使用して MySQL データベースに保存できます。 gjson ライブラリは、JSON フィールドを解析するための便利なメソッドを提供します。json.Unmarshal 関数には、JSON データをアンマーシャリングするためのターゲット型ポインターが必要です。どちらの方法でも、SQL ステートメントを準備し、データをデータベースに永続化するために挿入操作を実行する必要があります。

PHP データベース接続の落とし穴: よくある間違いや誤解を避ける PHP データベース接続の落とし穴: よくある間違いや誤解を避ける Jun 05, 2024 pm 10:21 PM

PHP データベース接続エラーを回避するには、接続エラーを確認し、変数名を資格情報と照合するというベスト プラクティスに従ってください。安全なストレージまたは環境変数を使用して、資格情報のハードコーディングを回避します。 SQL インジェクションを防止し、準備されたステートメントまたはバインドされたパラメーターを使用するために、使用後に接続を閉じます。

See all articles