我最近开始尝试提高网站的效果。我遇到的最大障碍之一是显示的缩略图数量。
我目前使用全尺寸图像并通过在img标签中定义高度/宽度值来缩小它。这似乎不是很有效,所以我的问题是显示缩略图的推荐方法是什么?我应该在数据库中为缩略图维护第二个表还是有更好的解决方案?
答案 0 :(得分:3)
如果使用上传器来获取您网站上的图像,请让PHP调整原始图像的大小,然后上传原始图像和较小的拇指,并在名称中添加一些前缀。 通过这种方式,您可以轻松地从数据库中获取图像,只需使用“filename.jpg”作为普通图像,然后使用“thumb_filename.jpg”作为拇指。 当然,如果没有上传器,也可以这样做,但您必须手动创建/上传缩略图。
答案 1 :(得分:3)
处理图像需要花费(cpu)费用,你应该尽可能避免它。
我的建议: 在将图像上传到单独的图像文件时创建缩略图,这样您就可以确定何时创建/调整它们 - 而不是在运行时。
如果您希望链接指向单独的数据库字段中的缩略图或从原始名称派生缩略图,则完全取决于您 - 两种方式都有效。
这使得额外的性能提升器也更容易实现(例如,缓存)。
我在基于php的项目中实现了类似的过程,这是一种扩展的好方法。在我的情况下,我通过cron每晚创建缩略图,因为那时系统负载非常低。
答案 2 :(得分:1)
例如,在图像中创建单独的文件夹,将其命名为thumnails(图像/缩略图),在那里添加前缀为文件大小的文件,例如:“original_file_name_200X200.jpg”,存储在数据库“original_file_name”上,扩展名“jpg”为单独的字段( name,ext)然后当你需要显示它时选择名称添加大小前缀并添加扩展你得到/images/thumbnails/file_200X200.jpg这样你就可以添加更多尺寸,保留原始状态。
答案 3 :(得分:0)
您正在寻找类似于以下内容的内容:http://dtbaker.com.au/random-bits/php-simple-image-resize-thumbnail-generator.html(这会将所有图片转换为jpeg)
就像@ martincarlin87所述 - 只需要添加一个检查以查看它是否存在于缩略图目录中,并发送信息或创建并发送它。这也可以转化为一种功能。
答案 4 :(得分:0)
我使用phpTumb动态创建缩略图。 你也可以在上传图片时使用它来改变它的尺寸。 它还有许多其他功能。看看吧。
答案 5 :(得分:0)
您可以使用像imagemagick
这样的程序来制作正确的缩略图。
如果您的个人网站可以批量调整大小(这是执行此操作的xp的powertool),然后上传到200目录并更改您的代码。显然,这取决于你上传图片。
imagemagick
需要安装在服务器上,但会调整大小并允许您播放图像的大小