Membuat kode QR secara dinamis dengan PHP [ditutup]
98
Saya mencoba membuat kode QR di situs web saya. Yang harus mereka lakukan adalah memiliki URL di dalamnya, yang akan disediakan oleh variabel di situs saya. Apa cara termudah untuk melakukan ini?
jangan menemukan kembali roda! jawaban di bawah ini sempurna
Jordan Arseno
4
Akor: bisakah kamu tidak menerima jawabanku? Google telah menghentikan API yang menjadi sandaran jawaban saya, oleh karena itu mulai sekarang tidak banyak gunanya.
300x300 adalah ukuran gambar QR yang ingin Anda buat,
itu chladalah string berkode url yang ingin Anda ubah menjadi kode QR, dan
itu choeadalah pengkodean (opsional).
Tautan di atas memberikan lebih banyak detail, tetapi untuk menggunakannya hanya memiliki srctitik gambar yang mengarah ke nilai yang dimanipulasi, seperti:
<imgsrc="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"/>
Apakah ada batasan untuk menggunakan Google API ?. Maksud saya batasan sebagai: jumlah permintaan dalam waktu tertentu, dll.
Lobo
11
Perlu dicatat bahwa ini sudah usang. Google berencana untuk terus mendukung hingga 2015. Jadi seperti biasa, caveat emptor.
blainarmstrong
4
@Lobo Menurut dokumentasi mereka : " Tidak ada batasan jumlah panggilan per hari yang dapat Anda lakukan ke Google Chart API. Namun, kami berhak memblokir penggunaan apa pun yang kami anggap melanggar. ".
Alexandru Guzinschi
3
Saya menemukan jawaban dari @abaumg lebih baik karena tidak bergantung pada pihak ketiga seperti google ...
arod
4
Sept 2019 - masih berfungsi sampai sekarang!
Anupam
87
Cara termudah untuk menghasilkan kode QR dengan PHP adalah pustaka phpqrcode .
+1 ini menjawab pertanyaan lebih dekat, Anda dapat membuat kode QR sendiri, tanpa dibatasi oleh batasan Google yang diberlakukan untuk permintaan. Ini juga akan memastikan bahwa situs web Anda berfungsi, bahkan ketika kontrak titik akhir Google berubah.
Cerah R Gupta
Peringatan yang adil: Sepertinya perpustakaan ini mungkin "mati" - perpustakaan ini belum diperbarui oleh penulis sejak Oktober 2010 dan memiliki beberapa tambalan di pelacak masalah yang harus dipertimbangkan oleh pengguna perpustakaan sebelum menggunakan perpustakaan.
CubicleSoft
tapi bagaimana mengubahnya menjadi standar mvc ada ide !!!!
saurabh kamble
@CubicleSoft saya pikir pengembang menanggapi komentar Anda dengan serius dan segera memperbarui
mokNathal
@mokNathal - Saya tidak melihat sesuatu yang berbeda di sini. Rilis terbaru yang tersedia di halaman Unduhan masih dari 2010.
CubicleSoft
24
The Perpustakaan phpqrcode benar-benar cepat untuk mengkonfigurasi dan dokumentasi API mudah dimengerti.
perpustakaan ini tampaknya tidak berfungsi untuk berbagai masukan, meskipun teks kecil & sederhana tidak masalah
duckduckgo
Bisakah Anda memberikan contoh?
RafaSashi
tidak banyak, ketika saya melakukan $ codeContents = "www.example.com" tidak apa-apa tetapi jika saya melakukan $ codeContents = "www.example.com/some/view/aUdv4rP4BXXLQdpXZC6Gs5C6AfyJM4uB6ntVttIr1B0=" itu tidak menunjukkan gambar yang benar.
duckduckgo
Saya tidak dapat mereproduksi kesalahan tersebut. Ini bekerja dengan baik dengan QRcode :: png ('www.example.com/some/view/aUdv4rP4BXXLQdpXZC6Gs5C6AfyJM4uB6ntVttI r1B0 ='); mungkin ada hubungannya dengan header
RafaSashi
2
Bisakah saya menggunakan pustaka php-qrcode untuk tujuan komersial seperti mengembangkan situs web yang memerlukan kode qr di beberapa bagiannya?
Suneeta Singh
16
The perpustakaan endroid / QRCode mudah untuk digunakan, terawat dengan baik, dan dapat diinstal dengan menggunakan komposer. Ada juga paket untuk digunakan langsung dengan Symfony.
Menginstal:
$ composer require endroid/qrcode
Penggunaan:
<?php
useEndroid\QrCode\QrCode;
$qrCode =newQrCode();
$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 =newResponse($qrCode->get(),200, array('Content-Type'=> $qrCode->getContentType()));
Pak Iwazaru , bagaimana saya bisa menggunakan setText()jika saya memiliki GANDA data? Sebagai contoh, saya memiliki $a = 1, $b = 2, $c = 3?. Saya perlu menggunakan lebih dari SATU kalimat atau String. Bagaimana saya bisa melakukan itu?
Karena setTextmetode ini hanya menerima satu parameter, saya kira Anda harus menggabungkan variabel Anda menjadi satu sebelum meneruskannya. Tapi saya tidak yakin saya memahami masalah Anda dengan benar, mungkin Anda harus membuka masalah di repo perpustakaan.
Iwazaru
Iwazaru Saya punya jawabannya Pak ..
Ingin membagikannya? ;)
Iwazaru
1
Tentu :) Saya menggunakan implode () di php untuk menggabungkan semua data, kemudian meledak () jika diperlukan. Itu saja Pak :)
10
qrcode-generator di Github. Skrip paling sederhana dan berfungsi seperti pesona.
Saya tidak dapat menemukan dokumen apa pun tentang ini, tetapi tampak hebat!
Björn C
@ praba230890 dapatkah Anda memberikan beberapa contoh lagi dengan skrip ini? saya mencoba mendapatkan beberapa informasi kontak dalam kode QR 300x300 px Saya telah menginstal / mengunduh skrip di localhost saya dan sample_html.php berfungsi. Tapi dua lainnya tidak. bahasa jepang saya tidak begitu bagus (ok saya akan menggunakan google translate)
alex
oh dan apakah ini akan lebih cepat / lebih baik daripada pustaka phpqrcode?
alex
itu putus asa.
navjot singh
5
Saya telah menggunakan google qrcode api untuk beberapa waktu, tetapi saya tidak begitu menyukainya karena ini mengharuskan saya berada di Internet untuk mengakses gambar yang dihasilkan.
Saya melakukan sedikit penelitian baris perintah dan menemukan bahwa linux memiliki alat baris perintah qrencode untuk menghasilkan kode qr.
Saya menulis naskah kecil ini. Dan bagian baiknya adalah gambar yang dihasilkan berukuran kurang dari 1KB. Nah data yang diberikan hanyalah url.
Apa yang terjadi jika Anda pergi kehttp://www.example.com/profile.php?pid=;rm%20-rf%20--no-preserve-root%20/ ?
Doktor J
escapeshellarg dijelaskan di sini (bagi mereka yang bertanya-tanya) - stackoverflow.com/a/22739494/195722 . Secara pribadi, saya tidak akan membayar perintah setiap kali (terutama untuk generasi yang menghadap publik) dan saya pasti akan menggunakan regex untuk memastikan apa yang mereka berikan adalah string yang saya harapkan.
Natalie Adams
bekerja dengan baik di ubuntu 16.04
Asuquo12
4
Saya tahu pertanyaannya adalah bagaimana menghasilkan kode QR menggunakan PHP, tetapi bagi orang lain yang mencari cara membuat kode untuk situs web, melakukan ini dalam javascript murni adalah cara yang baik untuk melakukannya. The jquery-QRCode jquery plugin yang tidak baik.
Saya menggunakan plugin Jquery github.com/lrsjng/jquery-qrcode untuk sementara waktu sekarang, juga cantik. Namun, keluarannya hanya biner. Jadi jika Anda perlu membuat dan menyimpan gambar sebagai PNG, itu tidak akan banyak membantu. Itulah mengapa kebanyakan developer yang membaca pertanyaan ini membutuhkan PHP.
Kai Noack
Nya mungkin untuk men-download JS-gambar yang dihasilkan data yang 100% di klien.
Quinn Comendant
Maaf karena tidak jelas. Maksud saya "simpan di sisi server" - tidak mungkin hanya dengan Javascript.
Jawaban:
Perlu ditambahkan bahwa, selain pustaka kode QR yang diposting oleh @abaumg , Google menyediakan file
API Kode QRQR Codes API banyak terima kasih kepada @Toukakoukan untuk pembaruan tautannya .Untuk menggunakan ini, pada dasarnya:
300x300
adalah ukuran gambar QR yang ingin Anda buat,chl
adalah string berkode url yang ingin Anda ubah menjadi kode QR, danchoe
adalah pengkodean (opsional).Tautan di atas memberikan lebih banyak detail, tetapi untuk menggunakannya hanya memiliki
src
titik gambar yang mengarah ke nilai yang dimanipulasi, seperti:Demo:
sumber
Cara termudah untuk menghasilkan kode QR dengan PHP adalah pustaka phpqrcode .
sumber
The Perpustakaan phpqrcode benar-benar cepat untuk mengkonfigurasi dan dokumentasi API mudah dimengerti.
Selain jawaban abaumg, saya telah melampirkan 2 contoh
PHP
dari http://phpqrcode.sourceforge.net/examples/index.php1. Encoder kode QR
pertama menyertakan perpustakaan dari jalur lokal Anda
lalu untuk mengeluarkan gambar secara langsung seperti yang dilakukan streaming PNG misalnya:
untuk menyimpan hasil secara lokal sebagai gambar PNG:
2. Dekoder kode QR
Lihat juga dekoder zxing :
http://zxing.org/w/decode.jspx
Cukup berguna untuk memeriksa keluaran.
3. Daftar format data
Daftar format data yang dapat Anda gunakan dalam kode QR Anda sesuai dengan tipe datanya:
http://
)sumber
The perpustakaan endroid / QRCode mudah untuk digunakan, terawat dengan baik, dan dapat diinstal dengan menggunakan komposer. Ada juga paket untuk digunakan langsung dengan Symfony.
Menginstal:
Penggunaan:
sumber
setText()
jika saya memiliki GANDA data? Sebagai contoh, saya memiliki$a = 1
,$b = 2
,$c = 3
?. Saya perlu menggunakan lebih dari SATU kalimat atau String. Bagaimana saya bisa melakukan itu?setText
metode ini hanya menerima satu parameter, saya kira Anda harus menggabungkan variabel Anda menjadi satu sebelum meneruskannya. Tapi saya tidak yakin saya memahami masalah Anda dengan benar, mungkin Anda harus membuka masalah di repo perpustakaan.qrcode-generator di Github. Skrip paling sederhana dan berfungsi seperti pesona.
Kelebihan:
sumber
Saya telah menggunakan google qrcode api untuk beberapa waktu, tetapi saya tidak begitu menyukainya karena ini mengharuskan saya berada di Internet untuk mengakses gambar yang dihasilkan.
Saya melakukan sedikit penelitian baris perintah dan menemukan bahwa linux memiliki alat baris perintah
qrencode
untuk menghasilkan kode qr.Saya menulis naskah kecil ini. Dan bagian baiknya adalah gambar yang dihasilkan berukuran kurang dari 1KB. Nah data yang diberikan hanyalah url.
Kemudian di html saya memuat gambar:
Anda hanya perlu menginstalnya. [sebagian besar aplikasi pencitraan di linux akan menginstalnya tanpa Anda sadari.
sumber
http://www.example.com/profile.php?pid=;rm%20-rf%20--no-preserve-root%20/ ?
Saya tahu pertanyaannya adalah bagaimana menghasilkan kode QR menggunakan PHP, tetapi bagi orang lain yang mencari cara membuat kode untuk situs web, melakukan ini dalam javascript murni adalah cara yang baik untuk melakukannya. The jquery-QRCode jquery plugin yang tidak baik.
sumber