我们已经准备好了,你呢?

2026我们与您携手共赢,为您的企业形象保驾护航!

显示了项目中使用的二维码。网上查了一下,主要是用PHP来实现的。

        $data = 'www.baidu.com'; 
        $level = 'L';// 纠错级别:L、M、Q、H
        $size = 6;// 点的大小:1到10,用于手机端4就可以了
        
        include EXTEND_PATH.'org/phpqrcode/phpqrcode.php';
        $QRcode = new \QRcode();
        ob_start();
        $QRcode->png($data,false,$level,$size);
        $imageString = base64_encode(ob_get_contents());
        ob_end_clean();
        //$path=ROOT_PATH.'public/static/images/qrcode/';
        //$QRcode->png($data,$path.$fileName,$level,$size);// 生成本地图片
        return $imageString;

上面的代码生成一个字符串,可用于在页面上显示图像。


关于::png方法参数说明:

1、第一个参数$text是上面代码中的URL参数。

2、第二个参数$默认为No,不生成文件,只返回二维码图片。否则,需要给出生成的二维码图像的存储路径。

3、第三个参数$level默认为L,该参数可以传递的值有L(, 7%)、M(, 15%)、Q(, 25%)、H(, 30%) 。该参数控制QR码的容错率。不同的参数代表二维码可以覆盖的区域的百分比。利用二维码的容错性,我们可以将头像放置在生成的二维码图像的任意区域。

4、第四个参数$size控制生成图像的大小。默认值为 4。

5、第五个参数$,控制生成二维码的空白区域的大小。

6、第六个参数$是保存二维码图片并显示。 $ 必须传递图像路径。

第二个参数默认为 false,该方法返回一个二进制图像流。在缓冲区中生成,当页面输出时会从缓冲区发送到浏览器。因此,如果代码中使用了日志输出,则不会记录在日志中,也就不需要使用echo进行内容输出。所以直接使用(::png)是没有用的。

这里使用()方法来打开输出缓冲区。所有输出信息不再直接发送到浏览器,而是保存在输出缓冲区中。这里,生成的图像流从缓冲区保存到内存对象,转换为编码字符串,通过json返回到页面。

看一下使用::png直接返回图片流给浏览器


最后简单说一下ob:

ob是cache的缩写,不是cache。如果ob使用正确的话,对速度有一定的帮助,但一味地添加ob功能只会增加CPU的额外负担。先说一下ob的基本功能:

1、防止浏览器输出后使用该功能而导致错误。 (本来以为一开始提到的代码有这样的功能,后来朋友说不是这样的)。其实这种用法还是少用为好,养成良好的编码习惯。

2. 捕获一些不可用函数的输出。例如,会输出很多HTML,但是我们不能使用$info=();这样的变量。捕捉它。这时候ob就派上用场了。

3. 对输出内容进行处理,例如gzip压缩、简体转繁体、或者一些字符串替换等。

4、生成静态文件,其实就是捕获整个页面的输出,然后保存为文件。它常用于 HTML 生成或整页缓存。

至于刚才第三点提到的GZIP压缩,很多人可能想用但没有真正用过。只需添加这个回调函数即可。

ob_start(ob_gzhandler);
内容
echo ob_get_contents() ;
ob_end_flush();

二维码
扫一扫在手机端查看

本文链接:https://www.by928.com/8373.html     转载请注明出处和本文链接!请遵守 《网站协议》
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。

项目经理在线

我们已经准备好了,你呢?

2020我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

13761152229

上班时间

周一到周五

公司电话

二维码
微信
线