【问题标题】:best way to store images and then display them存储图像然后显示它们的最佳方法
【发布时间】:2009-10-15 17:12:57
【问题描述】:

我有一个表单可以在 mysql 数据库中搜索用户所追求的任何内容,并在 div 中的同一页面上返回结果(使用 ajax 然后 php 来搜索 mysql)...

结果是广告,例如汽车,我希望每个广告都有与之关联的唯一图片,以便在广告旁边显示图片...

在 BLOBS 中存储图像并不是我听说的一个很好的解决方案...

我将如何以最好的方式做到这一点?

感谢

【问题讨论】:

标签: php javascript mysql ajax


【解决方案1】:

如果您想将不同类别的图像放在不同的位置,一种快速的方法是将图像存储在一个文件夹中,并在文件夹或单独的文件夹中提供唯一的文件名。搜索可用广告后,将相关的唯一文件名和服务器读取到客户端。

假设您将与汽车广告相关的图像保存在文件夹/images/cars/ 中。用户搜索奥迪 S6,结果返回 5 个广告。

现在我们将根据图像文件的命名进行。如果您提供与每个广告唯一名称相关的文件并将该名称记录在该广告的记录中,则只需获取该名称并创建图像 URL,如下所示:

/images/cars/ + result_row('image_name')

如果您根据广告记录的 id 命名图像,请使用此方案:

/images/cars/ + result_row('id')

如果您的意思是一开始您发送图像字节作为响应,那么您不需要这样做。只需发送构造的路径并在img 标签的src 属性中使用它。

PS:- 我的PHP技能现在不是很好!

【讨论】:

  • +1:这是一种非常常用的方法,与将文件塞进数据库相比,它会为您省去很多麻烦。我维护着一个巨大的 Sybase 数据库来存储图像数据,虽然它对我们的应用程序来说是正确的方法,但维护起来确实很痛苦……假设您不需要大量的修订跟踪等,目录是要走的路。
  • 我们(我自己和一位同事)犯了将图像放入数据库的愚蠢行为。虽然它是一个桌面应用程序,但它只是杀死它。
  • 如果图像已经存储并且用户搜索并提交表单,这将如何完成... PHP 搜索 mysql - mysql 返回结果 - 然后呢?根据结果​​从服务器获取正确的图像???谢谢
【解决方案2】:

通常,您希望将图像记录作为图像的详细信息存储在数据库中,然后是实际图像的文件路径。然后,将图像存储在常规文件系统中。

作为一个最佳实践,您通常希望存储相对于某个公共根目录的路径,然后您可以附加文件根目录,以便可以移动图像存储。 ie> 存储 ads/cars/1005.jpg,然后附加 'C:/myApp/images/' 的根

【讨论】:

    【解决方案3】:

    每个独特的广告在数据库中都有一个唯一的标识符。您可以为给定的一组图像创建图像子目录,并根据它们的唯一标识符保存图像。

    即广告506可以存储在/img/506.jpg

    最终你会在数据库中查询广告,然后你会假设你正在加载文件名为identifier + '.jpg'的图像

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-12-16
      • 1970-01-01
      • 2011-01-27
      • 2013-05-23
      • 1970-01-01
      • 2012-01-28
      • 1970-01-01
      相关资源
      最近更新 更多