เครื่องสร้างโค้ด QR ของ PHP ที่อิงตามการใช้งานโดย Kazuhiko Arase, เนมสเปซ, ทำความสะอาด, ปรับปรุง และอื่นๆ
นอกจากนี้ยังมีเครื่องอ่าน QR Code ที่ใช้พอร์ต PHP ของไลบรารี ZXing
ข้อควรสนใจ: ขณะนี้ยังมีพอร์ตจาวาสคริปต์บน NPM: @chillerlan/qrcode
การสร้างรหัส QR โมเดล 2 เวอร์ชัน 1 ถึง 40
รองรับระดับ ECC L/M/Q/H
รองรับโหมดผสม (โหมดการเข้ารหัสสามารถรวมกันภายในสัญลักษณ์ QR) โหมดที่รองรับ:
คันจิ (ภาษาญี่ปุ่น Shift-JIS)
ฮั่นจื่อ (จีนตัวย่อ GB2312/GB18030) ตามที่กำหนดใน GBT18284-2000
รองรับอีซีไอ
ตัวเลข
ตัวอักษรและตัวเลข
ไบนารี 8 บิต
ไบต์คู่ 13 บิต:
โมดูลเอาต์พุตที่ยืดหยุ่นและขยายได้ง่าย รองรับรูปแบบเอาต์พุตต่อไปนี้:
GdImage (กราฟิกแรสเตอร์: avif, bmp, gif, jpeg, PNG, webp)
ImageMagick (รองรับรูปภาพหลายรูปแบบ)
ประเภทมาร์กอัป: SVG, HTML ฯลฯ
ประเภทสตริง: JSON, ข้อความธรรมดา ฯลฯ
Postscript แบบห่อหุ้ม (EPS)
PDF ผ่าน FPDF
เครื่องอ่านรหัส QR (ผ่าน GD และ ImageMagick)
PHP 8.2+
ext-gd
สำหรับเอาต์พุตที่ใช้ QRGdImage
ext-imagick
ที่ติดตั้ง ImageMagick แล้ว
ext-fileinfo
ต้องการโดยเอาต์พุต QRImagick
setasign/fpdf
สำหรับโมดูลเอาต์พุต PDF
intervention/image
สำหรับเอาต์พุต GD / ImageMagick ทางเลือก
ext-mbstring
ไม่จำเป็น:
สำหรับเครื่องอ่าน QR Code ต้องใช้ ext-gd
หรือ ext-imagick
!
คู่มือผู้ใช้อยู่ที่ https://php-qrcode.readthedocs.io/ (ที่มา)
คุณสามารถดูเอกสาร API ที่สร้างด้วย phpDocumentor ได้ที่ https://chillerlan.github.io/php-qrcode/
เอกสารประกอบสำหรับคอนเทนเนอร์ QROptions
สามารถพบได้ที่นี่: chillerlan/php-settings-container
สำคัญ: โปรดใช้ตัวอย่างจากสาขาที่ตรงกับเวอร์ชัน php-qrcode ที่คุณติดตั้ง ( v4.x, v5.x, dev-main )!
ดูคู่มือการติดตั้งสำหรับข้อมูลเพิ่มเติม!
composer require chillerlan/php-qrcode
{ "ต้องการ": { "php": "^8.2", "chillerlan/php-qrcode": "dev-main#<commit_hash>" - -
หมายเหตุ: แทนที่ dev-main
ด้วยข้อจำกัดด้านเวอร์ชัน เช่น ^5.0
- ดูการเผยแพร่สำหรับเวอร์ชันที่ถูกต้อง
เราต้องการเข้ารหัส URI นี้สำหรับตัวตรวจสอบสิทธิ์บนมือถือให้เป็นรูปภาพ QRcode:
$data = 'otpauth://totp/test?secret=B3JX4VCVJDVNXNZ5&issuer=chillerlan.net';// รวดเร็วและง่ายดาย:echo '<img src="'.(new QRCode)->render($data).'" alt="รหัส QR" />';
เดี๋ยวก่อนนั่นคืออะไร? กรุณาอีกครั้งช้าลง! ดูการใช้งานขั้นสูงในคู่มือ นอกจากนี้ โปรดดูในโฟลเดอร์ตัวอย่างเพื่อดูตัวอย่างการใช้งานเพิ่มเติม
การใช้เครื่องอ่าน QR Code ในตัวนั้นค่อนข้างตรงไปตรงมา:
// โดยทั่วไปเป็นความคิดที่ดีที่จะห่อตัวอ่านไว้ในบล็อก try/catch เพราะในที่สุดมันจะโยน try{ $result = (new QRCode)->readFromFile('path/to/file.png'); // -> DecoderResult// ตอนนี้คุณสามารถใช้อินสแตนซ์ผลลัพธ์...$content = $result->data; $matrix = $result->getMatrix(); // -> QRMatrix// ...หรือเพียงแค่โยนมันไปที่ string เพื่อรับ content:$content = (string)$result; }catch($e ที่สามารถโยนได้){/ // อุ๊ย!}
สวัสดี โปรดลองดูโปรเจ็กต์อื่นๆ ของฉันที่เจ๋งกว่าคิวอาร์โค้ดมาก!
js-qrcode - พอร์ตจาวาสคริปต์ของไลบรารีนี้
php-authenticator - การใช้งาน Google Authenticator (ดูตัวอย่างตัวตรวจสอบความถูกต้อง)
php-httpinterface - การใช้งาน PSR-7/15/17/18
php-oauth - ไลบรารีไคลเอ็นต์ OAuth 1/2 รองรับ PSR-7/PSR-17/PSR-18 โดยสมบูรณ์
php-database - ไคลเอนต์ฐานข้อมูล & ตัวสร้างแบบสอบถามสำหรับ MySQL, Postgres, SQLite, MSSQL, Firebird
php-tootbot - ไลบรารีบอท Mastodon (ดู @dwil)
ฉันไม่รับผิดชอบต่อ CPU ที่หลอมละลาย แอปพลิเคชันที่เข้าใจผิด การเข้าสู่ระบบที่ล้มเหลว ฯลฯ โปรดใช้โดยยอมรับความเสี่ยงเอง!
บางส่วนของรหัสนี้ถูกย้ายไปยัง PHP จากโครงการ ZXing และได้รับอนุญาตภายใต้ Apache License เวอร์ชัน 2.0
เอกสารนี้ได้รับอนุญาตภายใต้ใบอนุญาต Creative Commons Attribution 4.0 International (CC BY 4.0)
คำว่า "QR Code" เป็นเครื่องหมายการค้าจดทะเบียนของ DENSO WAVE INCORPORATED
https://www.qrcode.com/en/faq.html#patentH2Title