Php 在数据库mysql中保存图像
我的客户已经在php+mysql中创建了一个脚本,它将图像直接保存在数据库中,每个图像都有如下url:www.example.com/image.php?id=421 你认为这是一个非常错误的解决方案?我应该重建所有的网站吗Php 在数据库mysql中保存图像,php,mysql,database,image,Php,Mysql,Database,Image,我的客户已经在php+mysql中创建了一个脚本,它将图像直接保存在数据库中,每个图像都有如下url:www.example.com/image.php?id=421 你认为这是一个非常错误的解决方案?我应该重建所有的网站吗 每天大约有1000次访问,数据库中大约有600张图像。是否有充分的理由将它们存储在数据库中?这样做可能有一些正当的理由。我假设这些是客户端图像,而不是显示站点本身所需的图像(即背景图像、img标签内的内容) 至于重建场地。这可能会提高性能,但以每天1000次的点击率来说,这
每天大约有1000次访问,数据库中大约有600张图像。是否有充分的理由将它们存储在数据库中?这样做可能有一些正当的理由。我假设这些是客户端图像,而不是显示站点本身所需的图像(即背景图像、img标签内的内容)
至于重建场地。这可能会提高性能,但以每天1000次的点击率来说,这可能不值得花这么多时间。假设网站的表现是可以接受的,它不会招致额外的托管费等,我会倾向于离开它,直到我重新设计的网站 如果你从评论中阅读@Gazler的链接,它实际上可以归结为几个问题:
- 性能有问题吗?[Y]
- 您是否存储任何附加信息,或仅存储图像本身?[仅图像]
- 您是否计划(或希望)在未来吸引更多的用户?[Y]
- 您的数据库大小是否受到限制?[Y]
如果您用括号中的答案回答问题,那么您的网站将图片从数据库中删除可能是件好事,否则,您可以保持原样,从而节省一些时间和/或紧张情绪。有好的方面和坏的方面。这取决于你是谁。大约5年前,将所有图像放入数据库成为一种流行 但是,随着服务器空间越来越大,这并不是为了节省空间 负面影响是,您始终需要了解服务器端编程才能使用映像。如果我的这一发展被传递给另一个人,它可能会被证明是有问题的
据我所知,如果它能工作,它也能工作,但我看不到性能问题-这似乎很快。图像文件就是文件,除非有充分的理由将其存储在数据库中,否则它们属于文件系统,在那里,您可以获得诸如易于备份和复制、分布在多台计算机上等好处,直接由Web服务器提供服务,以及Web服务器支持的所有上次修改日期和etag,以实现更好的性能等
如果在即将发布的版本中,图像数量预计会增加,并且预计会创建不同大小的图像(例如缩略图等),则强烈建议将图像从数据库迁移到文件系统。仅仅因为可以这样做,并不意味着应该这样做
我总是将有关图像的元数据(文件名、位置、其他属性)存储在数据库中,并将图像外部存储在文件系统中。依我看,在SQL数据库中实际存储图像几乎没有什么好处。一旦它们在那里,就很不方便使用。@Gazler下面的链接不起作用。在我这边显示404。