PHP Extension Requires Chilkat v11.7.0+
PHP Extension
Embed a QR Code in HTML as a Data URI
See more QR Code Examples
Demonstrates putting a QR code directly into an HTML page or HTML email with no separate image file. The base64 PNG returned by QrCode becomes the src of an img tag as a data URI, which is the MIME type from outputs[0].mimeType followed by the base64 from outputs[0].base64.Chilkat PHP Extension Downloads
<?php
include("chilkat.php");
$success = false;
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
$json = new CkJsonObject();
$json->UpdateString('payload.text','https://www.chilkatsoft.com/');
$json->UpdateInt('render.moduleSize',5);
$fmt = new CkFormats();
$jsonOut = new CkJsonObject();
$success = $fmt->QrCode('generate',$json,$jsonOut);
if ($success == false) {
print $fmt->lastErrorText() . "\n";
exit;
}
// A data URI has the form data:<MIME type>;base64,<base64 data>
$sbHtml = new CkStringBuilder();
$sbHtml->Append('<html><body><p>Scan to visit chilkatsoft.com</p><img alt=\'QR code\' width=\'');
$sbHtml->AppendInt($jsonOut->IntOf('outputs[0].width'));
$sbHtml->Append('\' height=\'');
$sbHtml->AppendInt($jsonOut->IntOf('outputs[0].height'));
$sbHtml->Append('\' src=\'data:');
$sbHtml->Append($jsonOut->stringOf('outputs[0].mimeType'));
$sbHtml->Append(';base64,');
$sbHtml->Append($jsonOut->stringOf('outputs[0].base64'));
$sbHtml->Append('\'></body></html>');
$success = $sbHtml->WriteFile('qa_output/qr_page.html','utf-8',false);
if ($success == false) {
print $sbHtml->lastErrorText() . "\n";
exit;
}
print 'image: ' . $jsonOut->IntOf('outputs[0].width') . ' x ' . $jsonOut->IntOf('outputs[0].height') . ' pixels' . "\n";
print 'HTML length: ' . $sbHtml->get_Length() . "\n";
// The page, as a browser shows it:
//
// Sample output:
// image: 185 x 185 pixels
// HTML length: 1211
?>