【问题标题】:How to store a generated QR code as PNG into the database in Laravel如何将生成的 QR 码作为 PNG 存储到 Laravel 的数据库中
【发布时间】:2019-08-12 03:43:17
【问题描述】:

大家好!我对 Laravel 很陌生,我已经用 QrCode 做了一个小项目大约一个月了。

所以我的问题是:“如何将生成的二维码存储到 Laravel 的数据库中?”

我创建了一个函数,它将创建随机字符串(作为我资产的唯一 ID)并转换为 QR 码。我的下一步行动是将二维码图像放入我的数据库中。我一直在关注很多 Laravel 教程,但它只是上传图片而不是保存自动生成的图片。

我确实将二维码图像保存在公共文件夹中,但每次创建新二维码时它都会被覆盖。

这就是我创建随机字符串并将它们转换为二维码并保存它们的方法

$rs = md5(time(). mt_rand(1,100000));
    $assets = Input::all();
    $assets = new Assets;
    $assets->assets_name = Input::get('assets_name');
    $assets->assets_random_string = $rs;


    $assets->save();

    $file = public_path('qr.png');
    \QRCode::text($rs)->setOutFile($file)->png(); 

    return redirect('assets/list')->with('assets', $assets)

如果我在现有代码中做错了什么,请发表评论,以便我改进我的代码。如果您需要我的项目中的任何东西,请告诉我。

非常感谢!

欢迎任何帮助!

【问题讨论】:

标签: php laravel qr-code


【解决方案1】:

正确和最优化的方法是将文件路径保存到数据库中的 qr.png。一旦您需要显示您的二维码,您只需从数据库中提取路径并将其附加到 HTML img 标签。

【讨论】:

  • 感谢您的回复!我已经将随机字符串保存在同一个表中,我将使用这个随机字符串作为资产的唯一 ID。我打算保存图像,因此当我列出所有资产时,所有基于我的随机字符串的唯一二维码都将在我的资产中可见。有可能做到吗?这是我在 Laravel 上的项目。
  • 第一个项目
【解决方案2】:

将二维码内容保存到数据库中,按需生成二维码,应该是最好的办法了。

【讨论】:

  • 感谢您的回复!我已经将随机字符串保存在同一个表中,我将使用这个随机字符串作为资产的唯一 ID。我打算保存图像,因此当我列出所有资产时,所有基于我的随机字符串的唯一二维码都将在我的资产中可见。有可能做到吗?这是我在 Laravel 上的项目。
  • 第一个项目
猜你喜欢
  • 1970-01-01
  • 2019-12-04
  • 1970-01-01
  • 2011-11-23
  • 1970-01-01
  • 2017-03-19
  • 2011-05-31
  • 2013-04-23
相关资源
最近更新 更多