首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php-QRcode生成失败

php-QRcode生成失败
EN

Stack Overflow用户
提问于 2016-09-19 09:01:17
回答 1查看 1.9K关注 0票数 1

我使用PHP码库生成QR代码。

我包括了库,在从数据库中获取用户信息之后,我正在尝试创建qrcode。然后将生成的qrcode的路径返回到前端,这样我就可以将其传递给图像标记,以便将其显示给用户。

我正在从数据库中获取姓名、id、电子邮件和用户图像路径。我希望将用户图像包含到qrcode中,因此我获取内容并将其编码为字符串。

我不会犯错误的。我检查了文件夹,没有保存qrcode。

代码语言:javascript
复制
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的方式吗?

EN

回答 1

Stack Overflow用户

发布于 2016-09-19 09:25:59

你的密码对我有用。图像保存在指定位置。不过,我对变量使用了占位符。要显示您可以使用的图像:

代码语言:javascript
复制
$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-代码中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39569202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档