如何将生成的QR码以PNG格式存储到Laravel中的数据库中

时间:2019-03-21 10:00:53

标签: php laravel qr-code

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

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

我创建了一个函数,该函数将创建随机字符串(充当我的资产的唯一ID)并转换为QR码。我的下一个动作是将QR码图像放入数据库。我一直在关注Laravel的许多教程,但仅在上传图像时才保存自动生成的图像。

我确实将QR码图像保存在公用文件夹中,但是每次创建新QR码时,它将被覆盖。

这是我创建随机字符串并将其转换为QR码并保存的方法

$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)

如果我在现有文件中做错了任何事情,请发表评论,以便改进我的代码。并且让我知道您是否需要我的项目中的任何内容。

非常感谢您!

欢迎任何帮助!

2 个答案:

答案 0 :(得分:0)

保存到数据库中QR码的内容并按需生成QR码,这应该是最好的方法。

答案 1 :(得分:0)

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