PHP/JS-动态创建缩略图或存储为文件

PHP/JS-动态创建缩略图或存储为文件,php,javascript,image,image-manipulation,thumbnails,Php,Javascript,Image,Image Manipulation,Thumbnails,对于承载图像的web应用程序: 对于我存储的图像,使用PHP(或其他什么)动态创建缩略图是可行的,还是应该将一个或多个不同大小的缩略图保存到磁盘并加载它们 非常感谢您的帮助。请查看,最好缓存缩略图。动态生成这些缩略图对系统来说是非常费力的。将缩略图保存到磁盘。图像处理需要大量资源,并且根据图像的大小,可能会超过php默认允许的内存限制。如果您有自己的服务器,并且只有应用程序在运行,那么就不必担心了,但是调整图像大小仍然需要大量的cpu电源和内存。如果您正在考虑动态创建缩略图,则无需做太多更改—在

对于承载图像的web应用程序:

对于我存储的图像,使用PHP(或其他什么)动态创建缩略图是可行的,还是应该将一个或多个不同大小的缩略图保存到磁盘并加载它们


非常感谢您的帮助。

请查看,最好缓存缩略图。动态生成这些缩略图对系统来说是非常费力的。

将缩略图保存到磁盘。图像处理需要大量资源,并且根据图像的大小,可能会超过php默认允许的内存限制。如果您有自己的服务器,并且只有应用程序在运行,那么就不必担心了,但是调整图像大小仍然需要大量的cpu电源和内存。如果您正在考虑动态创建缩略图,则无需做太多更改—在第一次请求时,从源文件创建缩略图,将其保存到磁盘,然后在后续请求时从磁盘读取缩略图。

这取决于站点的使用模式,但基本上,您希望每个图像被查看多少次

在缩略图的情况下,它们最有可能存在很长一段时间(图像上载一次且从未更改,因此缩略图也不会更改),因此通常值得在上载完整图像时生成并存储它们以供以后使用。除非站点完全死掉,否则它们在其生命周期中将被浏览很多次(成百上千次),而现在磁盘比延迟要便宜得多。当然,随着服务器负载的增加,这一点也变得更加重要

相反,对于像股票图表这样每小时更新一次(如果不是更频繁的话)的东西,在这种情况下,您最好动态创建它们,以避免浪费CPU时间不断生成用户永远看不到的图像

或者,如果您想更喜欢,您可以通过在第一次需要图像时动态生成图像,然后在随后显示预生成的图像,直到通过更改生成数据为止,然后将其删除,以便在下次需要时重新生成,从而优化处理这两种访问模式。但是对于像缩略图这样静态的东西来说,我觉得这太过分了。

我使用它,因为它是两个世界中最好的。您可以动态创建缩略图,但它会自动缓存图像以加快未来的请求。它围绕GD和ImageMagick库创建了一个很好的包装器。值得一看