存储图像然后显示图像的最佳方法

时间:2009-10-15 17:12:58

标签: php javascript mysql ajax

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

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

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

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

感谢名单

3 个答案:

答案 0 :(得分:3)

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

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

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

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

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

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

如果你的意思是,首先你发送的图像字节是响应,那么你不需要这样做。只需发送构建的路径,并在src标记的img属性中使用它。

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

答案 1 :(得分:3)

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

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

答案 2 :(得分:0)

每个唯一广告都会在数据库中包含唯一标识符。您可以为给定的图像集创建图像子目录,并根据其唯一标识符保存图像。

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

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