2012-07-03 57 views
1

我想通過URL(圖像位置)在我的數據庫中存儲圖像。 我只想存儲文件名,php將完成網址。我的問題:我需要添加一個ID字段到我的表?此外,該文件可能是不同的外部(JPG,GIF,PNG)如何確定PHP?URL Imageupload /數據庫設置

如果你好奇,我使用這個圖像上傳這個SITE

由代碼生成的URL:

http://www.example.com/imageupload/uploads/medium/uniqueimagename.jpg 

我的數據庫結構:

size: medium 
name: uniqueimagename 
ext: jpg/png/gif 

回答

2

你可以通過映像名稱這樣www.example.com/imageupload/uploads/medium?img=uniqueimagename.jpg,你可以得到的名字通過使用$_GET['img']是的,你必須將ID存儲到您的數據庫。也不要擔心擴展名,因爲IMG將存儲在您的文件夾,只是從您的數據庫獲取圖像名稱,並顯示在您的IMG標籤

+0

好吧,我不知道存儲名稱包括文件擴展名。 – techAddict82

+0

是的存儲文件的名稱也將存儲擴展名連同文件名 –

0

數據庫字段即將保存圖像應該是二進制的。圖像名稱應該或可以保存全名;這是與文件擴展。在顯示名稱之前,您的代碼可以從全名中去除.gif。

另一種方法是將數據庫中的命名信息和網站上文件夾中的實際圖像保存在一起。

+0

我不認爲OP正試圖將圖像本身存儲在數據庫中。看起來只是文件名或需要一個ID。 – curtisdf

1

我認爲你不需要。

當你存儲的圖片名稱,即:

uniqueimagename.jpg 

你存儲擴展也和通常所有圖像到同一個文件夾,以便路徑是常見的。

在PHP中,你有$ _FILES [「file」] [「type」]變量來知道file的擴展名。 (或者你可以使用爆炸像here

,如果你願意,你可以從圖片的文件名分開保存的擴展名,但是這取決於你

+0

'$ _FILES [「file」] [「type」]'由瀏覽器提供,所以它不一定是可信的。 – curtisdf

0

爲什麼會你需要一個ID字段?只要'uniqueimagename'列包含唯一值即是您的標識符。

您也不需要爲圖像類型設置單獨的列。圖像名稱將包含擴展名。

+0

這應該是一個評論而不是答案 –

+0

問題是修辭指出,答案是:ID列是多餘的。 – Sardonic