首先,我注意到有很多关于这个问题,很多标记为重复。我最终来到this one。是否需要将图像路径存储在数据库中?
而这个问题的接受答案虽然部分解决了我的问题,但并没有回答所有问题。
我的问题是,用户上载图像。我将路径存储在数据库中,并将图像文件存储在文件系统中。 但是,我制作了该图像的3个副本(大,中,小)。总而言之,我有4张图片 - 原始的,大的,中等的,小的。
我应该所有4条路径存储在数据库中,像这样
ID | original | large | medium | small |
----+--------------------+-----------------+-----------------+----------------+
1 | /path/to/original | /path/to/large/ | /path/to/medium | /path/to/small |
或只是存储原始的路径,并给予其他3的命名惯例,像这样: car.jpg, car.jpg, large-car.jpg, medium-car.jpg, small-car.jpg
?
我觉得这种方式对数据库来说不会那么沉重,如果后来我想增加另一个尺寸(即额外小),我不必修改数据库。
嗯,这是一个博客。每个用户都有他/她自己的目录。每次用户使用图片创建博客时,我都会使用blogID创建一个新目录,并且在该目录内我计划存储所有4个图像。 – sqram 2009-07-12 01:21:02
然后,我要做的就是为所有这些目录的父对象定义一个常量,define('BLOG_IMAGE_BASE_PATH','/ images/go/here')`或者其他任何内容,理想情况下,函数getImagePath(){返回BLOG_IMAGE_BASE_PATH。 '/'。 $这个 - > blogID; }`,并从中组合图像路径。 – chaos 2009-07-12 01:24:18