如何将使用phpqrcode生成的qrcode存储到数据库中,而不是存储在文件路径中?

2022-04-14 00:00:00 qr-code php
我需要将qrcode(使用phpqrcode生成)存储到数据库中,而不是将它们放在文件路径中。 SourceForge项目中给出的示例(http://phpqrcode.sourceforge.net/examples/)只谈到将它们存储在物理文件路径中。我不想将它们存储在文件路径中。 请指教。

QRcode::png($codecontent, $filepath);

解决方案

基于与OP的评论中的讨论,以及前面提到的问题-如何将二维码生成为ASCII码-此主题在phpqrcode的示例中介绍:

http://phpqrcode.sourceforge.net/examples/index.php?example=702

$codeContents = '12345'; // what to store

// generates the contents as array
// elements of array contain lines of the QR code
// lines are comprised of ones and zeros
$text = QRcode::text($codeContents);

// here array is joined, putting <br/> at end of lines
// for HTML display
$raw = join("<br/>", $text); 

// 1s and 0s are converted to "blocky" characters
// so that display is more like QR code and less like stream of 101010
$raw = strtr($raw, array( 
    '0' => '<span style="color:white">&#9608;&#9608;</span>', 
    '1' => '&#9608;&#9608;' 
)); 

完成这些步骤后,代码的ASCII图形表示将存储在$raw中;您可以将其存储在数据库中、显示给客户端或通过电子邮件发送。

如果您确实通过电子邮件发送,我建议将<br/>替换为 ,并确保电子邮件的编码设置为UTF-8,以便字符正确显示。

相关文章