[英]How to store a generated QR code as PNG into the database in Laravel
大家好,我是 Laravel 的新手。我已經用 QrCode 做了一個小項目大約一個月了。
所以我的問題是:“如何將生成的二維碼存儲到 Laravel 中的數據庫中?”
我創建了一個 function,它將創建隨機字符串(充當我資產的唯一 ID)並轉換為二維碼。 我的下一步行動是將二維碼圖像放入我的數據庫中。 我一直在關注很多 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)
如果我在現有代碼中做錯了什么,請發表評論,以便我改進我的代碼。 如果您需要我的項目中的任何內容,請告訴我。
太感謝了!
歡迎任何幫助!
保存到數據庫中QR碼的內容並按需生成QR碼,這應該是最好的方法。
正確的方法和最優化的方法是將文件路徑保存到數據庫中的qr.png。 一旦您需要顯示您的QR碼,您只需從您的數據庫中提取路徑並將其附加到HTML img標記。
$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;
$path = 'images/';
if(!\File::exists(public_path($path))) {
\File::makeDirectory(public_path($path));
}
$file = $path . time() . '.png';
\QrCode::format('png')->generate($rs, $file);
$assets->file = $file;
$assets->save();
I hope it will works,it works for me.
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.