MySQL - 将图像存储在数据库中?

时间:2009-08-10 22:05:52

标签: php mysql

让我们说我们桌子的每一行都包含有关各种待售车辆的信息。并且每个用户可以存储每个车辆的多个图像。 什么可能是存储这些图像的好方法?

重复: User Images: Database or filesystem storage?
重复: Storing images in database: Yea or nay?
重复: Should I store my images in the database or folders?
重复: Would you store binary data in database or folders?
重复: Store pictures as files or or the database for a web app?
重复: Storing a small number of images: blob or fs?
重复: store image in filesystem or database?

3 个答案:

答案 0 :(得分:1)

听起来像是家庭作业。您需要从vehicles表到pictures表的一对多关系。 pictures表将包含带有图像的BLOB列。或者它可以包含一个VARCHAR列,其中包含存储在磁盘上的图像的文件名。

答案 1 :(得分:1)

我希望你应该将图片存储在一些文件夹中,所以在检索它时会很容易。如果要存储在数据库中,可以使用BLOB数据类型。

答案 2 :(得分:0)

将图像数据直接存储在数据库中的开销可能会成为一个问题,尤其是对于拥有大量流量的大型网站而言。

通常我有一个命名约定,用于在服务器上存储图像,文件名是从用户上传的内容中重写的,但如果您愿意,可以保留用户的原始文件名 - 只需确保消毒他们。数据库仅存储图像的元数据,因此可以由Web服务器直接处理对图像文件的请求。