Na tym blogu dowiemy się krok po kroku, jak generować kod QR za pomocą PHP. Za pomocą prostego skryptu PHP możesz wygenerować kod QR dla tekstu, telefonu, adresu URL, e-maila i SMS-a.
W tym projekcie musisz stworzyć dwa pliki:
- qrcode.php
- index.php
KROK 1: Zdefiniuj klasę QrCode w qrcode.php:
1. Utwórz klasę QRCode. W tej klasie zdefiniujemy adres URL interfejsu GOOGLE CHART API oraz funkcje do generowania kodu QR dla tekstu, telefonu, adresu URL, e-maila i SMS-a.
klasa QRCode { }
KROK 2: Zdefiniuj adres URL API wykresów Google w klasie QrCode:
1. Tworzymy zmienne do przechowywania adresu URL API wykresów Google oraz danych, które służą do tworzenia kodu QR.
class QrCode { //URL GOOGLE CHART API private $apiUrl = 'https://chart.apis.google.com/chart'; // DANE DO UTWORZENIA KODU QR private $data; }
KROK 3: Zdefiniuj funkcje do generowania kodu QR różnych typów w klasie QrCode:
Mamy następujące typy i funkcje dla tego samego, w którym możemy wygenerować kod QR:
1.URL
// Funkcja służąca do generowania typu URL kodu QR. public function URL($url = null) { $this->data = preg_match("#^https?\:\/\/#", $url) ? $url : "https://{$url}"; }
2. tekst
// Funkcja służąca do generowania kodu QR typu TEKST. public function TEXT($text) { $this->data = $text; }
3. E-MAIL
// Funkcja służąca do generowania kodu QR typu EMAIL. public function EMAIL($email = null, $subject = null, $message = null) { $this->data = "MATMSG:TO:{$email};SUB:{$subject};BODY:{$message}; ;"; }
4. TELEFON
// Funkcja służąca do generowania kodu QR typu PHONE. public function PHONE($phone) { $this->data = "TEL:{$phone}"; }
5.SMS
// Funkcja służąca do generowania typu SMS QR Code. funkcja publiczna SMS($phone = null, $msg = null) { $this->data = "SMSTO:{$phone}:{$msg}"; }
6. KONTAKT
// Funkcja służąca do generowania kodu QR Code typu KONTAKT. public function CONTACT($nazwa = null, $adres = null, $telefon = null, $email = null) { $this->data = "MECARD:N:{$nazwa};ADR:{$adres};TEL: {$telefon};EMAIL:{$email};;"; }
KROK 4: Zdefiniuj funkcje, aby zapisać obraz kodu QR w klasie QrCode:
//Funkcja służąca do zapisywania pliku obrazu qrcode. funkcja publiczna QRCODE($rozmiar = 400, $nazwapliku = null) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $this->apiUrl); curl_setopt($ch, CURLOPT_POST, prawda); curl_setopt($ch, CURLOPT_POSTFIELDS, "chs={$rozmiar}x{$rozmiar}&cht=qr&chl=" .
KROK 5: Utwórz nowy plik index.php.
1. W tym pliku wywołujemy funkcję generowania kodu QR różnych typów, które zdefiniowaliśmy w qrcode.php.
2. Aby wygenerować Kod QR tekstu musisz wywołać funkcję TEKST w pliku index.php.
<?php // Dołącz plik qrcode.php. dołącz "qrcode.php"; // Utwórz obiekty $qc = new QRCODE(); // Utwórz kod tekstowy $qc->TEXT("Knowband"); // Zapisz kod QR $qc->QRCODE(400,"Knowband_text.png"); ?>
3. Aby wygenerować kod QR adresu URL, musisz wywołać funkcję URL w pliku index.php.
<?php // Dołącz plik qrcode.php. dołącz "qrcode.php"; // Utwórz obiekty $qc = new QRCODE(); // Utwórz kod URL $qc->URL("Knowband.com"); // Zapisz kod QR $qc->QRCODE(400,"Knowband_url.png"); ?>
4. Aby wygenerować kod EMAIL QR należy wywołać funkcję EMAIL w pliku index.php.
<?php // Dołącz plik qrcode.php. dołącz "qrcode.php"; // Utwórz obiekty $qc = new QRCODE(); // Utwórz kod EMAIL $qc->EMAIL("Knowband@test.com","Temat","Wiadomość"); // Zapisz kod QR $qc->QRCODE(400,"Knowband_email.png"); ?>
5. Aby wygenerować kod QR TELEFON należy wywołać funkcję TELEFON w pliku index.php.
<?php // Dołącz plik qrcode.php. dołącz "qrcode.php"; // Utwórz obiekty $qc = new QRCODE(); // Utwórz kod PHONE $qc->PHONE("1234567890"); // Zapisz kod QR $qc->QRCODE(400,"Knowband_phone.png"); ?>
6. Aby wygenerować SMS QR code należy wywołać funkcję SMS w pliku index.php.
<?php // Dołącz plik qrcode.php. dołącz "qrcode.php"; // Utwórz obiekty $qc = new QRCODE(); // Utwórz kod SMS $qc->SMS("1234567890"); // Zapisz kod QR $qc->QRCODE(400,"Knowband_sms.png"); ?>
7. Aby wygenerować kod KONTAKT QR należy wywołać funkcję KONTAKT w pliku index.php.
<?php // Dołącz plik qrcode.php. dołącz "qrcode.php"; // Utwórz obiekty $qc = new QRCODE(); // Utwórz kod KONTAKT $qc->CONTACT("knowband","Address","1234567890","knowband@test.com"); // Zapisz kod QR $qc->QRCODE(400,"Knowband_contact.png"); ?>
KROK 6: Uruchom plik skryptu (index.php) w swoim środowisku:
Jeśli wszystko pójdzie dobrze, nazwa pliku zostanie nazwana “knowband_text.png” i inna, którą chcesz pobrać i zapisać na swoim komputerze.
UWAGA: Jednorazowo można wygenerować tylko 1 typ kodu QR.
Kliknij tutaj aby pobrać cały kod.