php QRcode生成失败

php QRcode生成失败,php,qr-code,Php,Qr Code,我正在使用库生成二维码 我包含了库,从数据库中获取用户信息后,我尝试创建qrcode。然后将生成的qrcode的路径返回到前端,以便我可以将其传递给图像标签,以便向用户显示 我正在从数据库中获取姓名、id、电子邮件和用户图像路径。我想在qrcode中包含用户图像,所以我获取内容并将其编码为字符串 我没有犯错误。我检查了文件夹,qrcode没有保存 require_once 'externalLibraries/qrcode/qrlib.php'; // how to build raw con

我正在使用库生成二维码

我包含了库,从数据库中获取用户信息后,我尝试创建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'; 

这是生成qrcodes的方法吗?

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

$imgpath = QRCODE_PATH.$clientid.'.png';
$src = 'data: '.mime_content_type($imgpath).';base64,'.base64_encode(file_get_contents($imgpath));
echo '<img src="'.$src.'">';
$imgpath=QRCODE_路径。$clientid..png';
$src='data:'.mime_content_type($imgpath)。';base64,'.base64_编码(文件获取内容($imgpath));
回声';
更新:


如RST在评论中所述,二维码的尺寸有限。您正在使用的图像可能太大。尝试使用没有图像的一代,看看它是否有效。要回答您在评论中的问题,您可以将图像的大小重新调整为更小,但没有其他方法可以帮助您,因此二维码的大小是有限的。也许你会考虑在二维码中加入图像链接

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

$imgpath = QRCODE_PATH.$clientid.'.png';
$src = 'data: '.mime_content_type($imgpath).';base64,'.base64_encode(file_get_contents($imgpath));
echo '<img src="'.$src.'">';
$imgpath=QRCODE_路径。$clientid..png';
$src='data:'.mime_content_type($imgpath)。';base64,'.base64_编码(文件获取内容($imgpath));
回声';
更新:


如RST在评论中所述,二维码的尺寸有限。您正在使用的图像可能太大。尝试使用没有图像的一代,看看它是否有效。要回答您在评论中的问题,您可以将图像的大小重新调整为更小,但没有其他方法可以帮助您,因此二维码的大小是有限的。也许你会考虑在二维码中加入图像链接

你的图像有多大?你把它放在哪里?我把它放在我的角度服务上。图像是用户配置文件图片。我猜对它进行编码会产生一个长字符串@RST您似乎遵循的这个示例使用了
img
-标记中的结果,并且有一个关于图片大小的警告。有没有其他方法可以将图像包含在qrcode中@R由于二维码可以处理尺寸限制,您可以使用我在下面的回答中描述的方法(调整图像大小,链接到图像)。您的图像是多大尺寸,您将返回到哪里?我将返回到我的角度服务。图像是用户配置文件图片。我猜对它进行编码会产生一个长字符串@RST您似乎遵循的这个示例使用了
img
-标记中的结果,并且有一个关于图片大小的警告。有没有其他方法可以将图像包含在qrcode中@R由于二维码可以处理大小限制,您可以使用下面我的回答中描述的方法(调整图像大小,链接到图像)。好的,让我试试。是的,文件是在磁盘上生成的。好的,让我试试。是的,文件是在磁盘上生成的。