Last active
April 1, 2024 13:46
-
-
Save daveh/c63af8c6e02ac592130cdfe43c8b4570 to your computer and use it in GitHub Desktop.
Generate QR Codes with PHP (code to accompany https://youtu.be/8xPWPGxL7Xk)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<html> | |
<head> | |
<title>Generating QR Codes with PHP</title> | |
<meta charset="UTF-8"> | |
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/water.css@2/out/water.css"> | |
</head> | |
<body> | |
<h1>Generating QR Codes with PHP</h1> | |
<form method="post" action="generate.php"> | |
<label for="text">Text</label> | |
<textarea id="text" name="text"></textarea> | |
<button>Generate</button> | |
</form> | |
</body> | |
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
require "vendor/autoload.php"; | |
use Endroid\QrCode\QrCode; | |
use Endroid\QrCode\Writer\PngWriter; | |
use Endroid\QrCode\Color\Color; | |
use Endroid\QrCode\Label\Label; | |
use Endroid\QrCode\Label\Alignment\LabelAlignmentLeft; | |
use Endroid\QrCode\Logo\Logo; | |
use Endroid\QrCode\ErrorCorrectionLevel\ErrorCorrectionLevelHigh; | |
$text = $_POST["text"]; | |
$qr_code = QrCode::create($text) | |
->setSize(600) | |
->setMargin(40) | |
->setForegroundColor(new Color(255, 128, 0)) | |
->setBackgroundColor(new Color(153, 204, 255)) | |
->setErrorCorrectionLevel(new ErrorCorrectionLevelHigh); | |
$label = Label::create("This is a label") | |
->setTextColor(new Color(255, 0, 0)) | |
->setAlignment(new LabelAlignmentLeft); | |
$logo = Logo::create("/path/to/the/logo/file") | |
->setResizeToWidth(150); | |
$writer = new PngWriter; | |
$result = $writer->write($qr_code, logo: $logo, label: $label); | |
// Output the QR code image to the browser | |
header("Content-Type: " . $result->getMimeType()); | |
echo $result->getString(); | |
// Save the image to a file | |
$result->saveToFile("qr-code.png"); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment