我有一个产品网站,里面有大约 100 张高质量的图片。每个图像的大小约为 6-7MB。
在我的数据库中,我存储了所有图像的路径及其名称。图像保存在文件夹 /images/product_name/ 中,但是当我在网页中显示这些图像时,页面需要永远加载。我所做的就是将 id 发送到表格,获取图像路径并将其显示在产品页面中。
如果我能就如何优化流程获得任何建议,那将非常有帮助。
我有一个产品网站,里面有大约 100 张高质量的图片。每个图像的大小约为 6-7MB。
在我的数据库中,我存储了所有图像的路径及其名称。图像保存在文件夹 /images/product_name/ 中,但是当我在网页中显示这些图像时,页面需要永远加载。我所做的就是将 id 发送到表格,获取图像路径并将其显示在产品页面中。
如果我能就如何优化流程获得任何建议,那将非常有帮助。
您发送给客户的图像很可能太大了。7MB 的大小对于产品图片来说听起来非常大,因此如果显示所有产品图片,则传输 100*7MB = 700MB 的数据。
如果您只需要小图像,请将它们缩小到一些 KB(缩略图)并使用它们显示在您的表格中。
注意:您可以在原始文件名前加上“tmb_”或“tmb_200x200_”之类的前缀,而不必触摸数据库中的路径。
通过阅读您的评论,我认为您正在寻找一些自动化过程来优化文件并以更体面的文件大小提供它们。
您应该查看imageMagick或GD 库,它允许您调整图像大小(以及许多其他内容 - http://php.net/manual/en/book.imagick.php)并优化它们。这可以与YUI 图像裁剪器之类的东西结合使用,以允许您选择图像的某些部分以显示在缩略图中。
这最好在上传时完成,这样服务器就不会在每次请求图像时不必要地重新生成图像,并存储在数据库中的缩略图列下。
如果您必须显示更大的图像,我建议您使用灯箱(请参阅此处的示例 - http://leandrovieira.com/projects/jquery/lightbox/)或仅在客户端请求时加载更大图像的类似技术。
您是否优化了图像(就文件大小而言)?例如在 Smush.it 上http://www.smushit.com/ysmush.it/
你真的应该优化你的图像。您可以使用 Photoshop 之类的商业产品或使用 GIMP 之类的免费产品来优化文件。
加载大约 700 MB 的图像对我来说只需要 1 天!
将图像的大小缩小为缩略图,当用户单击缩略图时,然后加载原始文件。这可以提高性能。
使用http://luci.criosweb.ro/riot/压缩图像。是谷歌推荐的简单免费的图片压缩工具之一。
此外,正如之前提到的,确保您发送到列表页面的拇指大小约为 100 像素,并且只有当用户单击放大时,才会一一显示大拇指,即使在缩放选项中,您也应该只显示 1000 像素最大尺寸图像,根据格式和质量,不应超过 200-500k。