2013-10-12 53 views
2

將圖像上傳到MySQL數據庫的正確方法是什麼?將圖像上傳到MySQL數據庫的正確方法是什麼?

通常,我將'image'字段聲明爲文本,並使用move_uploaded_file()函數將圖像保存到我的服務器上。

這是將圖像上傳到數據庫的正確方法嗎?例如,我不得不上傳很多圖片,例如社交網站。

+0

是的,這是一個很好的方式。將圖像存儲在文件系統中並將其名稱存儲在數據庫中 –

+0

有爭議的解決方案 - 傳統智慧可能會說將db用於路徑名並將實際圖像存儲在文件服務器上。所有歸結到性能和需求,雖然。但看看這個:http://stackoverflow.com/questions/3748/storing-images-in-db-yea-or-nay –

+0

你確定你有這麼大的數據庫?它絕對不是一個正確的想法,保存圖像imto數據庫.. –

回答

2

最好使用文件處理和PHP圖像庫(如GD)將圖像上傳到服務器,然後將路徑作爲字符串存儲在數據庫中。我認爲這應該工作。

+0

看起來好像他們已經這麼做了 –

+1

我也是這麼做的。我想知道是否有可能將圖像保存到MySQL數據庫,而不是保存圖像的路徑。 –

3

我覺得有兩個可靠的方法與影像工作到你的數據庫:

1 - 存儲在某些文件夾中的文件在您的服務器,然後寫在一些領域的文件路徑在圖像表。

2 - 使用base64_encode($ yourImageData)方法將圖像編碼爲base64。該方法將返回一個可插入到表中的字符串。

+0

使用第二種方法是否好? –

+2

我認爲第二個比使用BLOB字段更好。 比第一個更惡化。 –

+0

爲什麼使用BLOB字段更好? –

0

正如指出的那樣,將圖像直接保存到數據庫並不是一個好主意,相比之下,在文件系統上保存圖像,然後保存路徑/鏈接到表字段。

但既然問題是「上傳圖片到MySQL數據庫」

我想你可以檢查http://www.mysqltutorial.org/php-mysql-blob/

相關問題