在网站上整理图片

时间:2010-07-21 18:19:54

标签: image database photos storing-data

我正在设计一个涉及太多照片的网站。

餐厅和菜肴有两个模块。这是创建目录strcuture的最佳方法吗?

图像/餐厅/ ID 图像/碗碟/ ID

使用以下命令创建文件名

function imgName($imgExtension)
  {
      return time() . substr(md5(microtime()), 0, 12) . ".".$imgExtension;
  }

ii想要两个不同大小的缩略图。这是命名缩略图的最佳方式吗?

因为db只保留带有扩展名的主图片文件名。

2 个答案:

答案 0 :(得分:1)

我不会太担心目录结构,你看起来很好,甚至可能更好地使用S3存储桶。

至于文件名部分,我发现最简单的方法是将 prepend thumb_添加到thumb filename。所以:somefilename.jpg - > thumb_somefilename.jpg

这样您就可以将somefilename.jpg存储在数据库中,只需在需要拇指时将额外部分添加到前面。

答案 1 :(得分:1)

有没有理由随机化这样的文件名?我个人认为,你不应该首先给他们随机的名字,他们应该与图片中的实际内容相关 - 只是因为它对用户更好,对搜索引擎更有意义。

在一个完美的世界中,你有一个像

这样的逻辑结构
/images/dishes/moules-de-mariniere.jpg

这里的菜肴/餐馆名称是一个独特的slu ..但是,在现实世界中实现这几乎是不可能的,所以

/images/dishes/id/moules-de-mariniere.jpg

是避免碰撞的公平妥协。

Thumbs我通常放在他们自己的thumb /目录下,所以我可以在所有位置使用相同的文件名(懒惰比任何东西都多):

/images/dishes/id/thumbs/moules-de-mariniere.jpg

但是thenduks的前置建议也有效,这只是个人偏好。