Php URL Imageupload/数据库设置

Php URL Imageupload/数据库设置,php,mysql,Php,Mysql,我试图通过URL(图像位置)在数据库中存储图像。 我只想存储文件名,php将完成url。我的问题:是否需要向表中添加id字段?另外,文件可能是不同的ext(jpg、gif、png),php如何确定 如果你好奇的话,我用的是这个图片上传自这个网站 由代码生成的URL: http://www.example.com/imageupload/uploads/medium/uniqueimagename.jpg 我的数据库结构: size: medium name: uniqueimagename e

我试图通过URL(图像位置)在数据库中存储图像。 我只想存储文件名,php将完成url。我的问题:是否需要向表中添加id字段?另外,文件可能是不同的ext(jpg、gif、png),php如何确定

如果你好奇的话,我用的是这个图片上传自这个网站

由代码生成的URL:

http://www.example.com/imageupload/uploads/medium/uniqueimagename.jpg
我的数据库结构:

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

将保存图像的数据库字段应为二进制。图像名称应该或可以包含全名;这就是文件扩展名。在显示全名之前,您的代码可以从全名中删除.gif


另一种方法是将命名信息保存在数据库中,将实际图像保存在网站的文件夹中

我想你不需要

存储图像名称时,即:

uniqueimagename.jpg
您还将存储扩展名,并且通常所有图像都会转到同一文件夹,因此路径是公共的

在PHP中,您有$_FILES[“file”][“type”]变量来知道文件的扩展名。(也可以使用“像爆炸一样爆炸”)


如果需要,您可以保存图片名称以外的扩展名,但这取决于您

您可以这样传递图像名称
www.example.com/imageupload/uploads/medium?img=uniqueimagename.jpg
,您可以使用
$\u get['img']
是的,您必须将id存储到数据库中。也不要担心扩展名,因为img将存储在您的文件夹中,只需从数据库中获取图像名称并显示在您的img标记中

为什么需要id字段?只要“uniqueimagename”列包含作为标识符的唯一值


图像类型也不需要单独的列。图像名称将包含扩展名

$\u FILES[“file”][“type”]
是由浏览器提供的,因此它不一定值得信任。我不认为OP试图将图像本身存储在数据库中。看起来只需要文件名或ID。这应该是一个注释而不是答案。问题是修辞性的,指出答案是:ID列是多余的。好吧,很好,我不知道存储名称包括文件扩展名。是的,存储文件名也将存储扩展名和文件名