使用PHP QrCode生成QR码

使用PHP QrCode生成QR码,php,qr-code,Php,Qr Code,在使用PHP QrCode库之后,我发现由于某种原因,当使用带有脚本和对话框(JQuery)的动态页面时,当尝试以.png格式输出QR代码时,我会得到奇怪的符号,而不是实际生成的.png文件 以下是我尝试过的: 创建了一个单独的文件,其中仅包含: <?php //include only that one, rest required files will be included from it include "phpqrcode/qrlib.php"; QRcode::png('ba

在使用PHP QrCode库之后,我发现由于某种原因,当使用带有脚本和对话框(JQuery)的动态页面时,当尝试以.png格式输出QR代码时,我会得到奇怪的符号,而不是实际生成的.png文件

以下是我尝试过的:

创建了一个单独的文件,其中仅包含:

<?php
//include only that one, rest required files will be included from it
include "phpqrcode/qrlib.php";

QRcode::png('barrda554');
?>

很好

尝试2:

使用JQuery UI在对话框类型中打开的文件:

<?php

header stuff...
include "phpqrcode/qrlib.php";
...
?>
<html>
...
  <?php
   QRcode::png('barrda554');
  ?>
..
</html>

...
..
在这次尝试中,出于某种原因,我得到了多个时髦的符号:

    �PNG  IHDRWWKK/PLTE���U��~�IDAT8��ѱ � P# �c��n :V�L�@�k 
y��)�|F��5`ڸzHF|l���
%Z"e�Ы�D{\�ގ����p`�f�eh�������k�[BJeJ�c����,�^�gu�m|Q��o��W����g�
    �#�s�<�y��k�m��!v�.��(+�u���$s�-�n$߫>�gR�`IEND�B`�
�巴布亚新几内亚IHDRWWKK/PLTE���U��~�IDAT8��ѱ � P#�C��n:V�L�@�K
Y��)�|F��5ڸzHF|l���
%Z“e�Ы�D{\�ގ����p`�F�嗯�������K�[BJeJ�C����,�^�顾�m|Q��o��W����G�
�#�s��gR�`伊恩德�B`�
这让我感到困惑,我不确定该如何解决这一问题

让我知道你的想法

大卫

更新:

头('Content-Type:image/png');
放在JQuery打开的文件中后,没有雪茄

以下是实际文件:


确保您有以下php代码来生成正确的
内容类型
标题,以便浏览器知道如何呈现接收到的数据

header("Content-Type: image/png");
问题在于:

<html>
<?php
QRcode::png('barrda554');
?>
</html>

为了理解这是怎么回事,假设你在一个文本编辑器中打开一个常规的PNG文件,然后直接将内容复制/粘贴到HTML文件中。它不会显示图像——就像你看到的那样,它只是垃圾

要在HTML文件中包含图像,需要使用

然后在qrcode.php中生成图像:

<img src="qrcode.php">

如果您需要HTML页面中的一些信息来生成图像,可以将其作为查询参数包含在URL中,如下所示:

<?php
include "phpqrcode/qrlib.php";
QRcode::png('barrda554');
?>
<img src="qrcode.php?product=1&format=2">

然后在PHP中获取这些值,如下所示:

<?php
include "phpqrcode/qrlib.php";
QRcode::png('barrda554');
?>
<img src="qrcode.php?product=1&format=2">


最后,有一些方法可以将图像数据直接包含到HTML页面中,但并非所有浏览器都支持该方法,也不推荐使用该方法,因为它会使页面大小变得更大,并阻止浏览器单独缓存图像


您可以查看有关base64数据URL和的更多信息。

请确保您传递了正确的
内容类型
@DevZer0您是什么意思?我正在对它生成的内容执行完全相同的操作。请检查@jcsanyi answer。我尝试了以下方法:
session_start();包括“phpqrcode/qrlib.php”;QRcode::png('/live pay/active.php?user=')。$\session['userActive'])
-这是img src调用的grab.php文件中的:
echo';
内部错误通常意味着php语法或致命错误。请尝试打开php错误显示,或查看您的php错误日志以查看确切的错误消息。Nvm修复了它!非常感谢!您的祝福:)投票表决我的问题,这样我可以获得更多分数如果你认为这是一个好问题!