鍍金池/ 問答/PHP/ php 如何把圖片轉(zhuǎn)化為字節(jié)流存儲到數(shù)據(jù)庫?

php 如何把圖片轉(zhuǎn)化為字節(jié)流存儲到數(shù)據(jù)庫?

怎么把圖片轉(zhuǎn)化為字節(jié)流存起來,不用擔心文件存儲圖片占用空間的問題

回答
編輯回答
尐飯團

base64轉(zhuǎn)碼一下唄

2017年4月29日 23:01
編輯回答
只愛你

dfdfdfds

2017年4月3日 11:10
編輯回答
葬愛

我看大家好像都沒有好好回答這個問題,我曾經(jīng)作為初學(xué)者的時候也有這個疑惑,我來做一下回答。

首先,數(shù)據(jù)庫千萬別存圖片,數(shù)據(jù)庫存儲數(shù)據(jù)的字段設(shè)置得太大的話,數(shù)據(jù)庫數(shù)據(jù)查詢會非常慢。

另外,圖片數(shù)據(jù),你可以直接用PHP的file_get_contents就能獲取到圖片信息了,但是你要把圖片放回去就需要用到file_put_contents,另外放回去的話你肯定要命名一下圖片名稱,你在取圖片的時候還要存一大堆圖片相關(guān)信息,我覺得的話,沒必要這么操作。

當然對于圖片也有base64_encode進行base64轉(zhuǎn)換,實際上我可以告訴你,進行轉(zhuǎn)換后圖片存儲空間將會更大。

說了以上幾點,我來說一下我們通常是基于什么樣的考慮來存儲圖片的,通常我們會把圖片上傳到一個路徑,比如/var/www/statics/test.jpg,我這里展示的是絕對路徑,通常來說我們用的是相對路徑或者是把圖片上傳到云服務(wù)器上,如果圖片上傳到的是云服務(wù)器上的話可能得到的圖片就是https://img.segmentfault.com/1.jpg這樣的形式。
也就是說,我們數(shù)據(jù)庫存的是圖片的路徑,不管是網(wǎng)絡(luò)路徑還是絕對路徑還是相對路徑,只要我們從書庫把圖片路徑取出來并且能根據(jù)圖片存儲的路徑找到圖片就可以了,而且路徑數(shù)據(jù)本身就很小,通過路徑取到原圖片,根本不需要做過多考慮,所以沒人會把圖片數(shù)據(jù)轉(zhuǎn)換成字節(jié)存到數(shù)據(jù)庫的。

另外我也看到你說不用考慮圖片占用空間過大的問題,但是我可以在這里明確告訴你,我們寫程序一方面考慮便捷性,快速實現(xiàn)某種功能,同時我們還要考慮性能問題,我們做程序的最終目的是服務(wù)用戶的,不管這個用戶是我們自己還是能給我們帶來收益的真實用戶。所以來說,程序能實現(xiàn)了之后,還要考慮一個問題就是性能問題。

所以,我們通常來說,希望數(shù)據(jù)庫中存儲的數(shù)據(jù)越小越好。

2018年6月6日 02:18
編輯回答
尐潴豬

數(shù)據(jù)庫負載大,同樣占用服務(wù)器空間,不知道你是如何節(jié)省空間的?

2017年12月9日 03:35