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

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

怎么把圖片轉(zhuǎn)化為字節(jié)流存起來(lái),不用擔(dān)心文件存儲(chǔ)圖片占用空間的問(wèn)題

回答
編輯回答
尐飯團(tuán)

base64轉(zhuǎn)碼一下唄

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

dfdfdfds

2017年4月3日 11:10
編輯回答
葬愛(ài)

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

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

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

當(dāng)然對(duì)于圖片也有base64_encode進(jìn)行base64轉(zhuǎn)換,實(shí)際上我可以告訴你,進(jìn)行轉(zhuǎn)換后圖片存儲(chǔ)空間將會(huì)更大。

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

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

所以,我們通常來(lái)說(shuō),希望數(shù)據(jù)庫(kù)中存儲(chǔ)的數(shù)據(jù)越小越好。

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

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

2017年12月9日 03:35