我正在设计一个涉及太多照片的网站。
餐厅和菜肴有两个模块。这是创建目录strcuture的最佳方法吗?
图像/餐厅/ ID 图像/碗碟/ ID
使用以下命令创建文件名
function imgName($imgExtension)
{
return time() . substr(md5(microtime()), 0, 12) . ".".$imgExtension;
}
ii想要两个不同大小的缩略图。这是命名缩略图的最佳方式吗?
因为db只保留带有扩展名的主图片文件名。
答案 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的前置建议也有效,这只是个人偏好。