首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用缓存或上传创建动态缩略图?

使用缓存或上传创建动态缩略图?
EN

Stack Overflow用户
提问于 2013-11-30 00:46:55
回答 2查看 2.6K关注 0票数 2

我目前正在重写一个网站,需要很多不同大小的每一张图片。在过去,我是这样做的,通过创建缩略图图像的所有大小的上传。但现在我对is的表现产生了怀疑。这是因为现在我必须改变我的设计,我的一半的图像不是合适的大小。所以我想出两种解决方案:

  1. 继续这样做,并在后端添加一个按钮,以重新生成所有图像。问题是,我总是需要知道网站的每一个部分所需的大小。
  2. 只上传真实大小的图像,并在显示时,放入SRC标记,类似于sr="thumbs.php?img=my-image-path/image.jpg&width=120&height=120".。然后创建拇指并显示出来。另外,我的脚本将检查拇指是否已经存在,如果已经存在,它不需要重新记录它,所以只需显示它。每5天启动一个带有crontask的脚本,删除所有的大拇指(确保只使用有用的)。

我认为第二种解决方案更好,但我有点担心的是,每次显示图像时都需要调用php,即使已经创建了它,也需要php来显示.

谢谢你的建议

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-30 00:57:01

使用第二个选项,如果您没有太多的存储和第一,如果您没有太多的CPU。

或者您可以将这些组合起来:在php缩略图生成器的第一个打开处生成和存储图像,然后再返回缓存的图像。

有了这个解决方案,你将只有必要的图像,如果你想要,你可以删除,有时是旧的。

票数 1
EN

Stack Overflow用户

发布于 2013-12-02 17:00:18

根据最初的问题和随后的评论,这听起来像是按需生成适合你,因为听起来你不会有一个要求很高的环境,因为从绝对最小化下载时间到终端客户端的角度来说,这并不是一个要求很高的环境。

似乎您已经掌握了一个选项,可以为您的<img>标记提供一个src值,这个值是一个PHP脚本,如果它存在,该脚本要么提供缓存的缩略图,要么动态生成它,缓存它,然后为它提供服务,所以让我给您另一个选项。

一般来说,使用PHP来提供静态资源并不是一个好主意,因为您开始将站点扩展为

  1. 这将需要调用PHP来处理这类请求的额外开销,这是使用Apache、Nginx等基本web服务器进行更优化的操作。这意味着您的站点将能够处理每个服务器的较少流量,因为它使用额外的内存、CPU等来服务这些静态内容。
  2. 这使得很难将这些静态资源移动到服务器之外的单个存储库中,以服务内容(如CDN)。这意味着您必须复制您的文件在每一个web服务器,您有一个网站。

因此,我的建议仍然是通过are服务器将图像作为静态图像文件提供,但是如果它们丢失了,则动态生成缩略图。为了实现这一点,您可以简单地在web服务器上创建一个自定义重定向规则或404处理程序,这样您的缩略图目录中不匹配现有缩略图图像的请求可以重定向到PHP脚本以自动生成缩略图并提供图像(浏览器甚至不知道)。对此缩略图的未来请求将被用作静态图像。

如果将来您需要将静态映像移动到单个服务器(或CDN),则可以使用源-拉机制尝试从主服务器获取内容,这将通过我刚才提到的机制自动生成。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20295251

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档