ホームページ バックエンド開発 PHPチュートリアル PHP QRコードの生成方法(Google API、PHPクラスライブラリ、libqrencodeなど)_PHPチュートリアル

PHP QRコードの生成方法(Google API、PHPクラスライブラリ、libqrencodeなど)_PHPチュートリアル

Jul 13, 2016 pm 05:53 PM
api go google php 説明書 方法 生成する 使用 コード クラスライブラリ

================================================方法PHP を使用するには ============================================== ===
1. Google Open APIを使用して完了します
[php]
$urlToEncode="名前:劉新明、電話:18792448443"; 生成QRfromGoogle($urlToEncode)
/**
* Google API QRコード生成 [QRコードは最大4296種類の英数字のテキストを保存できます。詳細についてはQRコードのデータ形式を確認してください]
* @param string $chl QR コードに含まれる情報は、数字、文字、バイナリ情報、または漢字です。データ型を混在させることはできず、データは UTF-8 URL エンコードされている必要があります。転送する必要がある情報が 2K バイトを超える場合は、POST メソッドを使用してください。 * @param int $widhtHeight QRコード生成時のサイズ設定
* @param string $EC_level オプションのエラー修正レベル。QR コードは、紛失、誤読、あいまいなデータの回復に使用される 4 つのレベルのエラー修正をサポートします。
* L-デフォルト: 失われたデータの 7% を特定できます
* M-15% 失われたデータを識別できます
* Q-25% 失われたデータを識別できます
* H-30% 失われたデータを識別できます
* @param int $margin 生成されたQRコードと画像の境界線の間の距離
​*/
関数generateQRfromGoogle($chl,$widhtHeight ='150',$EC_level='L',$margin='0')
{
$chl = urlencode($chl); echo 'QR コード';
}


詳細については、百度ライブラリを参照してください: http://wenku.baidu.com/view/b2a6ffc60c22590102029dae.html

2. PHP ライブラリ PHP QR コード
PHP QR コードは、QR コードを生成するためのオープンソース (LGPL) ライブラリです

2次元バーコードはlibqrencode Cライブラリに基づいています

QR コード バーコード画像 (GD2 のおかげで PNG、JPEG) を作成するための API を提供します。
外部依存関係はなく、純粋に PHP で実装されています (必要に応じて GD2 を除く)。
PS: 時間の都合上、Google のオープン API のみをテストしましたが、正常でした。その他は自分でテストできます。
=============================================== について学ぶ次の 2 つ QR コードの原理========================================== ===== ====
2次元バーコードは、データや情報を記録するために、特定の規則に従って平面上に配置された特定の幾何学的図形を使用する白黒のグラフィックです。
一般的に使用されるコード システムには、Data Matrix、Maxi Code、Aztec、QR Code、Vericode、PDF417、Ultracode、Code 49、Code 16K などが含まれます。
①: Code 16K、Code 49、PDF417 (以下を参照) などのスタック/ライン 2D バーコード

②: マトリックス QR コード、最も人気があるのは QR CODE です
QR コードには大量のデータが保存され、数字、文字、中国語のテキストなどのコンテンツが混在する可能性があります。スペース使用率が高い。

③:QRコードのご紹介


上の図は、QRコードの基本構造を示しています。
位置検出グラフィックス、位置検出グラフィックスセパレーター、位置決めグラフィックス: 各 QR コードの位置は固定されていますが、サイズと仕様は異なります。 修正グラフィック: 仕様が決定すると、修正グラフィックの数と位置も決まります。 フォーマット情報: QR コードのエラー訂正レベルを L、M、Q、H に分けて示します。
バージョン情報: QR コードの仕様は、21x21 (バージョン 1) から 177x177 (バージョン 40) までの 40 個の QR コード シンボル (通常は白と黒) の仕様があります。シンボルの各バージョンは大きくなります。以前のバージョンよりも側面に 4 つのモジュールが追加されます。
データおよびエラー修正コード ワード: 実際に保存された QR コード情報、およびエラー修正コード ワード (QR コードの損傷によって引き起こされたエラーを修正するために使用されます)。

簡単なコーディングプロセス:
1. データ分析: エンコードされた文字タイプを決定し、対応する文字セットに従って記号文字に変換します。特定の条件下では、エラー訂正レベルが高いほど、実際のデータ容量は小さくなります。

2. データ エンコーディング: データ文字を 8 ビットごとに 1 つのコードワードでビット ストリームに変換し、全体としてデータ コードワード シーケンスを形成します。実際、このデータコードワードシーケンスを知ることは、QRコードのデータ内容を知ることを意味します。



データは、より効率的にデコードするためのパターンに従ってエンコードできます。例: データ: 01234567 エンコード (バージョン 1-H)、
1) グループ: 012 345 67
2) バイナリに変換: 012→0000001100
                                                                                                                                                                           3) シーケンスに変換: 0000001100 0101011001 1000011
4) バイナリに変換された文字数: 8→0000001000
モード インジケーター (上の図の番号) 0001: 0001 を追加します。 00001000 0000001100 0101011001 1000011
文字、中国語、日本語などは、グループ化方法、モード、その他の内容が異なるだけです。基本的な作り方は同じです

3. 誤り訂正符号化:上記の符号語列を必要に応じてブロックに分割し、誤り訂正レベルとブロック符号語に基づいて誤り訂正符号語を生成し、その誤り訂正符号語をデータ符号語列の後ろに追加して新たな符号語とする。順序。

                                       


QRコードの仕様と誤り訂正レベルが決まると、対応できるコードワード数と誤り訂正コードワードの総数も決まります。たとえば、バージョン10の場合、誤り訂正レベルがHの場合、対応できるコードワード数と誤り訂正コードワード数が決まります。 224 個の誤り訂正コードワードを含む、合計 346 個のコードワード。

これは、QR コード領域のコードワードの約 1/3 が冗長であることを意味します。これら 224 個の誤り訂正コードワードについては、112 個の置換エラー (白黒反転など) または 224 個の読み取りエラー (読み取りまたはデコードできない) を訂正できます。 エラー訂正能力は: 112/346=32.4%


4. 最終的なデータ情報の構築: 決定された仕様の条件の下、上記で生成されたシーケンスを順番にブロックに配置します
規則に従ってデータをブロックに分割し、各ブロックを計算して対応する誤り訂正符号語ブロックを取得し、誤り訂正符号語ブロックを順番にシーケンス化し、元のデータ符号語シーケンスの末尾に追加します。
例: D1、D12、D23、D35、D2、D13、D24、D36、... D11、D22、D33、D45、D34、D46、E1、E23、E45、E67、E2、E24、E46、E68、 ..

マトリックスの構築: 検出パターン、セパレーター、位置決めパターン、補正パターン、コードワード モジュールをマトリックスに入力します。


上記の完全なシーケンスを、対応する仕様の QR コード マトリックスの領域に入力します


6. マスキング: QR コード グラフィックスの暗い領域と明るい (黒と白) 領域が最適な比率で分配されるように、シンボルのコーディング領域にマスキング グラフィックスを使用します。
アルゴリズムがあり、調査は不要なので、興味のある学生は続けることができます。

7. フォーマットおよびバージョン情報: フォーマットおよびバージョン情報を生成し、対応する領域に配置します。

バージョン 7 ~ 40 はすべてバージョン情報を含み、バージョン情報がないものはすべて 0 です。 QR コード上の 2 つの場所にはバージョン情報が含まれていますが、これは重複しています。
バージョン情報は6×3の計18ビットであり、このうち6ビットのデータが例えばバージョン番号8、データビット情報が001000、続く12ビットが誤り訂正ビットである。


www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/478001.html技術記事 ============================================== PHPの使い方= ================================================ 1、Google Open APIを使用して[php] $urlToEncode=name:Liu Xinming,pho...
を完了します
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

PHPでHTML/XMLを解析および処理するにはどうすればよいですか? PHPでHTML/XMLを解析および処理するにはどうすればよいですか? Feb 07, 2025 am 11:57 AM

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

母音を文字列にカウントするPHPプログラム 母音を文字列にカウントするPHPプログラム Feb 07, 2025 pm 12:12 PM

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 Apr 05, 2025 am 12:04 AM

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

今まで知らなかったことを後悔している 7 つの PHP 関数 今まで知らなかったことを後悔している 7 つの PHP 関数 Nov 13, 2024 am 09:42 AM

あなたが経験豊富な PHP 開発者であれば、すでにそこにいて、すでにそれを行っていると感じているかもしれません。あなたは、運用を達成するために、かなりの数のアプリケーションを開発し、数百万行のコードをデバッグし、大量のスクリプトを微調整してきました。

PHPでの後期静的結合を説明します(静的::)。 PHPでの後期静的結合を説明します(静的::)。 Apr 03, 2025 am 12:04 AM

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPマジックメソッド(__construct、__destruct、__call、__get、__setなど)とは何ですか? PHPマジックメソッド(__construct、__destruct、__call、__get、__setなど)とは何ですか? Apr 03, 2025 am 12:03 AM

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。

See all articles