Yii2.0-生成二维码实例 [扩展组件]

作者:上班偷偷打酱油 发布于:2015-10-29 浏览:13120次 收藏

生成二维码:

通过composer安装:

1.下面的方法是通过composer加载

php composer.phar require "2amigos/yii2-qrcode-helper" "*"

或者添加

"2amigos/yii2-qrcode-helper" : "*"

到对应项目的composer.json文件中


通过归档文件安装:

不习惯用composer的用户可以点击下面链接下载

二维码扩展下载

然后解压,将文件名修改为yii2-qrcode-helper放入vendor/2amigos/目录下面

编辑/vendor/yiisoft/extensions.php,添加以下代码到数组中

'2amigos/yii2-qrcode-helper' => 
      array (
        'name' => '2amigos/yii2-qrcode-helper',
        'version' => '1.0.2.0',
        'alias' => 
        array (
          '@dosamigos/qrcode' => $vendorDir . '/2amigos/yii2-qrcode-helper/src',
        ),
  ),

blob.png


用法

在你的控制器中添加一下代码

use dosamigos\qrcode\QrCode;    //引入类
 
\\ ... 
public function actionQrcode() 
{ 
    return QrCode::png('http://www.yii-china.com');    //调用二维码生成方法
}

public function actionDemo()
{
    return $this->render('index');
}

在你的页面中添加以下代码 (demo/index)

<img src="<?= Url::to(['index/qrcode'])?>" />

访问demo这个方法,就能看到一张漂亮的二维码了

如果文章对您有所帮助,希望继续支持我们,您的支持是我们最大的动力 ¥打赏
声明:文章内容由作者原创或整理,未经允许,不得转载!
  • 评论于 2017-10-12 12:03:41

    简直太赞了,本地通过composer安装没有问题,线上出现了问题。很是恼火;果然一看线上vendor/yiisoft/extensions.php 中的别名不存在,手动加了别名。

    回复
  • 评论于 2017-09-14 11:19:00

    blob.png有谁有出现这个问题吗?求助

    回复
  • 评论于 2017-04-27 11:25:42

    图片.png这个有人遇到嘛?

    回复
  • 评论于 2017-04-17 18:09:34

    生成的二维码怎么储存,或者怎么跟别的图片合成为一张

    回复
  • 评论于 2017-01-04 16:55:55

    本地可以显示 放到ngiux开启了gd,大小写检查过,显示不了求指点

    回复于 2017-01-05 11:12:30 回复
    看看是不是有权限
    回复
  • 评论于 2016-12-14 18:13:42

    按照说的弄了,并没有出来

    回复
  • 评论于 2016-07-25 09:57:38

    请问为什么我调用变成了乱码?

    回复于 2016-07-25 11:13:32 回复
    有可能不是乱码,是二维码图片的源码
    回复于 2016-07-25 15:47:50 回复
    @上班偷偷打酱油 �PNG  IHDR{{n m<�PLTE���U��~j 就是这样的 这是什么情况?
    回复于 2016-07-25 16:03:24 回复
    @丶唔唔 仔细看下教程
    回复于 2016-07-25 17:30:14 回复
    @上班偷偷打酱油 我是按照那样做的 引用这个文件2amigos 和 vendor/yiisoft/extensions.php 在控制器里面引用命名空间 写方法 在页面调用方法。
    回复于 2016-07-25 18:29:13 回复
    @丶唔唔 详细的你可以去交流群咨询一下,我们这样说也说不清楚
    回复
  • 评论于 2016-05-20 16:52:58

    能不能生成二维码图片文件?

    回复于 2016-07-25 11:13:59 回复
    试试输出的地方改成生成文件
    回复于 2017-07-12 09:22:04 回复
    @上班偷偷打酱油 生成文件的时候返回null 不知道为什么
    回复于 2017-07-12 09:27:05 回复
    var_dump(QrCode::png('https://www.beidu.com/beisuapp/word/scanqrcode' . $code, '@backend/web/uploads/123.png', 0, 11, 2, TRUE));
    回复
  • 评论于 2015-12-21 16:50:13

    问几个问题:

    1.Qrcode这个类的命名空间是

    namespace dosamigos\qrcode;

    extensions.php里面有这句

    '@dosamigos/qrcode' => $vendorDir . '/yii2-qrcode-helper/src',

    是不是别名和命名空间要一一对应


    2.开发者能不能随便把Qrcode这个类的namespace dosamigos\qrcode;改成其他的比如:namespace dosamigos\code;

    然后在extensions.php里面修改 '@dosamigos/code' => $vendorDir . '/yii2-qrcode-helper/src',控制器那边use改成use dosamigos\code\QrCode;经过测试这样就不会显示二维码了


    回复于 2015-12-21 18:56:07 回复
    你看下你改掉的命名空间 是不是影响到其他地方了
    回复于 2015-12-21 19:13:41 回复
    @上班偷偷打酱油 第一个问题呢
    回复于 2016-06-17 17:03:25 回复
    @上班偷偷打酱油 请问生成的二维码页面出现乱码情况,如何解决???
    回复
  • 评论于 2015-12-17 11:10:44

    我的没显示二维码图片是因为img标签里的url写错了

    <img src="<?= Url::to(['index/qrcode'])?>" />

    URL里的index就是你在哪个控制器文件写了

    public function actionQrcode() 
    { 
        return QrCode::png('http://www.yii-china.com');    //调用二维码生成方法
    }

    这个方法,就把index改为你的控制器文件名就可以了

    回复
您需要登录后才可以评论。登录 | 立即注册