2012-07-03 55 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