Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将MySQL用于图像库的最佳方法?_Php_Mysql_Image_Photo Gallery - Fatal编程技术网

Php 将MySQL用于图像库的最佳方法?

Php 将MySQL用于图像库的最佳方法?,php,mysql,image,photo-gallery,Php,Mysql,Image,Photo Gallery,可能重复: 这是我几个月前为朋友建立的第一个网站: 我想将其重建为我的第一个PHP/MySQL项目,但我有几个关于如何构造数据库的问题 1) 最好使用BLOB数据类型将实际图像文件放入数据库中;或者存储文件名并使用这些名称从服务器上的另一个文件夹中查找图像 2) 我是SQL新手,我最初设想为我要创建的每个库创建一个单独的表。一个表按类别排序在哪些方面更好 感谢您提供的所有建议欢迎来到stackoverflow 您可以将图像数据放在MySQL中,但通常最好将它们作为文件。这使它们更容易缓存和缩

可能重复:

这是我几个月前为朋友建立的第一个网站:

我想将其重建为我的第一个PHP/MySQL项目,但我有几个关于如何构造数据库的问题

1) 最好使用BLOB数据类型将实际图像文件放入数据库中;或者存储文件名并使用这些名称从服务器上的另一个文件夹中查找图像

2) 我是SQL新手,我最初设想为我要创建的每个库创建一个单独的表。一个表按类别排序在哪些方面更好


感谢您提供的所有建议

欢迎来到stackoverflow

  • 您可以将图像数据放在MySQL中,但通常最好将它们作为文件。这使它们更容易缓存和缩略,否则你必须自己做

  • 一个按类别排序的表将允许您在类别名称方面具有更大的灵活性,并使您更容易在类别之间移动图像,以及从多个类别(例如每个类别的图像计数)获取信息


  • 我会坚持提供一个参考,即MySQL表中的文件名。将图像作为斑点放在表中意味着您现在要维护两份图片副本。如果您的主要应用程序是存储历史记录,这是有意义的,但除此之外,对原始应用程序的简单引用可能更好。 第二个问题可能是存储空间:如果你把图片弄脏了,你显然要处理一些非常大的表。这可能是问题,也可能不是问题。
    正如其他人所发布的,为每个库创建多个表是一个明确的禁忌,这与使用关系数据库的整个理念背道而驰。简单地在pictures表中添加一列来保存库id,并使其成为唯一键的一部分。您可能还需要一个单独的库表,以便更“规范化”。

    尝试搜索此网站,您的问题有很多答案。关于2):请查看关系数据库设计和规范化,因为每个库单独的表绝对是错误的。抱歉,没有进行适当的搜索-学童错误:S感谢您的回复。这是有意义的-最终可能会有1000个强壮的图像,这是我关心的-文件名就是这样!