http://sourceforge.net/projects/phpqrcode/ , это отличная библиотека, но я не могу найти, как вернуть png-изображение в виде строки , основными примерами являются
QRcode::png('code data text', 'filename.png'); // creates file QRcode::png('some othertext 1234'); // creates code image and outputs it directly into browser
я проверил документацию и ничего, помогите! : B
ob_start(); QRCode::png('text', null); $imageString = base64_encode( ob_get_contents() ); ob_end_clean();
$qrTempDir = 'path/to/your/temp'; $filePath = $qrTempDir.'/'.uniqid(); QRcode::png('some text', $filePath); $qrImage = file_get_contents($filePath); unlink($filePath);
Это должно быть то, что вы ищете. Вы можете расширить его, чтобы показать изображение следующим образом:
<img src="data:image/png;base64,<?php echo base64_encode($qrImage) ?>" />
К сожалению, на данный момент библиотека не поддерживает какой-либо другой метод, поскольку вызов функции QRcode :: png без параметра файла не только позволяет отправлять эти заголовки, но также выходит из выполнения кода, поэтому нет необходимости втягивать или перезаписывать заголовки.
Я столкнулся с той же проблемой, что и @ iim.hlk
Это то, что я немного изменил @ Lusitanian его ответ на этот
ob_start(); QRCode::png($string); $imageString = base64_encode( ob_get_clean() ); header('Content-Type: text/html');
Это исправляет проблему заголовка, просто перезаписывая его. Не чистая или ничего, но она работает для этой цели.