百度開發者的雲端程式碼空間為了保證高可用,不允許使用者將圖片儲存到程式碼空間中,使用CDN或物件儲存不僅收費而且使用比較複雜,於是考慮能否將img儲存在資料庫中,雖然很多人說會造成效能問題,權當一試。
1、準備三個檔案
#第一個用於將圖片儲存為資料庫字元,第二個php檔案用於取得資料庫字元並產生圖片,第三個是檔案1所使用的圖片。
2、資料庫設計
超長字串或二進位資料分別可以用TEXT(65535),BLOB(64k)保存,但是嘗試使用二進位儲存失敗,便使用TEXT保存,但是一張500多kb的圖片經過base64加密的字元長度高度75萬!
光靠一個TEXT是存不下去的,而且應該也會造成嚴重的效能問題,所以分割成N份保存,這裡以50000字元長度為一個單位。記錄imgid,方便拼接。
3、將圖片儲存到資料庫[dm01_imgTobase64.php]
/*链接数据库*/ // 1.转为普通字符 $file = file_get_contents('test.jpg'); $base64_str = base64_encode($file); $len = strlen($base64_str); $step = ceil($len/50000); for ($i=0; $i <$step ; $i++) { $substr = substr($base64_str, $i*50000,50000); $sql = "INSERT INTO b64_img VALUES( null,1,1,$i,'$substr') "; $res = mysqli_query($link,$sql); }
4、產生的資料
5、讀取資料庫記錄,產生圖片[dm02_getImg.php]
/*链接数据库*/ $sql = "SELECT * FROM b64_img WHERE imgid = 1 ORDER BY bakid ASC "; $res = mysqli_query($link,$sql); $data = array(); $imgStr = ''; while ($row = mysqli_fetch_assoc($res)) { $imgStr .= $row['bstr'] ; } $binaryStr = base64_decode($imgStr); file_put_contents("ThisImg.jpg", $binaryStr);
6 、成功生成圖片
#推薦教學:PHP影片教學
###########推薦教學:###PHP影片教學#######以上是php如何為資料庫新增圖片的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本文比較了酸和基本數據庫模型,詳細介紹了它們的特徵和適當的用例。酸優先確定數據完整性和一致性,適合財務和電子商務應用程序,而基礎則側重於可用性和

本文討論了確保PHP文件上傳的確保,以防止諸如代碼注入之類的漏洞。它專注於文件類型驗證,安全存儲和錯誤處理以增強應用程序安全性。

本文討論了在PHP中實施API速率限制的策略,包括諸如令牌桶和漏水桶等算法,以及使用Symfony/Rate-limimiter之類的庫。它還涵蓋監視,動態調整速率限制和手

本文討論了使用password_hash和pyspasswify在PHP中使用密碼的好處。主要論點是,這些功能通過自動鹽,強大的哈希算法和SECH來增強密碼保護

本文討論了OWASP在PHP和緩解策略中的十大漏洞。關鍵問題包括注射,驗證損壞和XSS,並提供用於監視和保護PHP應用程序的推薦工具。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Atom編輯器mac版下載
最受歡迎的的開源編輯器

記事本++7.3.1
好用且免費的程式碼編輯器

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

WebStorm Mac版
好用的JavaScript開發工具