我使用PHP码库生成QR代码。
我包括了库,在从数据库中获取用户信息之后,我正在尝试创建qrcode。然后将生成的qrcode的路径返回到前端,这样我就可以将其传递给图像标记,以便将其显示给用户。
我正在从数据库中获取姓名、id、电子邮件和用户图像路径。我希望将用户图像包含到qrcode中,因此我获取内容并将其编码为字符串。
我不会犯错误的。我检查了文件夹,没有保存qrcode。
require_once 'externalLibraries/qrcode/qrlib.php';
// how to build raw content - QRCode with Business Card (VCard) + photo
$tempDir = QRCODE_PATH; //saves temporary directory path
// we building raw data
$codeContents = 'BEGIN:VCARD'."\n";
$codeContents .= 'FN:'.$name."\n";
$codeContents .= 'ID:'.$id."\n";
$codeContents .= 'EMAIL:'.$email."\n";
$codeContents .= 'PHOTO;JPEG;ENCODING=BASE64:'.base64_encode(file_get_contents('../'.$userAvatar))."\n";
$codeContents .= 'END:VCARD';
// generating
QRcode::png($codeContents, $tempDir.$clientid.'.png', 4, 3);
// displaying
return QRCODE_PATH.$clientid.'.png'; 这是生成qrcode的方式吗?
发布于 2016-09-19 09:25:59
你的密码对我有用。图像保存在指定位置。不过,我对变量使用了占位符。要显示您可以使用的图像:
$imgpath = QRCODE_PATH.$clientid.'.png';
$src = 'data: '.mime_content_type($imgpath).';base64,'.base64_encode(file_get_contents($imgpath));
echo '<img src="'.$src.'">';更新:
正如RST在注释中提到并在这些回答中说明的那样,QR代码只能有一个有限的大小。您使用的图像可能太大了。尝试使用你的一代没有图像,并看看它是否有效。要在注释中回答您的问题,您可以将图像重新设置为更小的,但是没有任何其他方法可以帮助您,因此QR代码大小是有限的。也许你会考虑将图像链接到QR-代码中。
https://stackoverflow.com/questions/39569202
复制相似问题