当前位置:Gxlcms > PHP教程 > 网站上能动态调用不同尺寸的图片吗

网站上能动态调用不同尺寸的图片吗

时间:2021-07-01 10:21:17 帮助过:6人阅读

页面上可能在不同位置,需要不同尺寸的图片

比如发表了一篇文章,上传标题图片,生成了一张原图580*700的和一个宿略图100*100的

如果我要在首页调用这个图片,尺寸是200*240的,怎么办, 是对580*700的原图限定width为200吗?(加载原图影响性能吧)

还是上传图片时,把需要的尺寸图全部上传上去(这样也不太好吧,比如我在首页或其它页面使用的尺寸都不同,岂不是要上传很多的不同尺寸的图片)

有没有什么好的解决方案


回复讨论(解决方案)

我们网站的做法是传一张图 就生成七张大小不同的图存储起来. 这七张是根据需求设定好的

然后在对应位置调用对应尺寸的图片


如果用img标签的width height强行缩放 网页会卡.

一般都缩小到各种尺寸,别以为这是省略存储空间
比较一下100k到10k缩小前后的流量,设定有10个页面用到这张图,每天1万人访问,都看满了这10页,并假设客户端缓存足够一天的浏览量(当天刷新页面不重新传送图片)

100k*10*10000*30=300G/月
缩小后自然就除以10,30G/月

这只是一张图片只用于10个页面,还没计算页面刷新、更多图片、更多页面调用(别小看“转载”啊)的情况
所以越大的站,越要减少图片字节数,当然是按需要,不能一味只求省流量,也要顾及服务质量

至于图片站展示原图那是另一回事,那是从服务质量角度考虑的,而且原图极少在多个页面重复展示

楼上说的没错 存储空间可比流量/带宽 便宜太多了....

嗯,纠正一下上面的错误,如果同一张图(url相同),客户端使用缓存并已存在此图的话,无论多少个页面,都不会重复传,但不同的浏览器,还是少不了的

页面上可能在不同位置,需要不同尺寸的图片

比如发表了一篇文章,上传标题图片,生成了一张原图580*700的和一个宿略图100*100的

如果我要在首页调用这个图片,尺寸是200*240的,怎么办, 是对580*700的原图限定width为200吗?(加载原图影响性能吧)

还是上传图片时,把需要的尺寸图全部上传上去(这样也不太好吧,比如我在首页或其它页面使用的尺寸都不同,岂不是要上传很多的不同尺寸的图片)

有没有什么好的解决方案
数据库结构怎么设计?有七个不同的尺寸标题图,建七个字段存放吗?


页面上可能在不同位置,需要不同尺寸的图片

比如发表了一篇文章,上传标题图片,生成了一张原图580*700的和一个宿略图100*100的

如果我要在首页调用这个图片,尺寸是200*240的,怎么办, 是对580*700的原图限定width为200吗?(加载原图影响性能吧)

还是上传图片时,把需要的尺寸图全部上传上去(这样也不太好吧,比如我在首页或其它页面使用的尺寸都不同,岂不是要上传很多的不同尺寸的图片)

有没有什么好的解决方案
数据库结构怎么设计?有七个不同的尺寸标题图,建七个字段存放吗?

我举个例子

比如图片123.jpg

数据库存123.jpg

七张大小不同的图片是 a_123.jpg b_123.jpg ...

数据库里只存一条..... 程序调用的时候加上尺寸对应的前缀即可.

我的做法是用php???生各?尺寸的?片,例如

我??a.jpg就是原?,每次用?在?求的?候??不同的尺寸到服?器,服?器???用img.php???整原??客?要求的尺寸,?整完?之後直接?出到客?端,?????出的?片?未被直接存?到服?器上,??做法的好?是不用存?多??片,也不?心流量??,但是他??用服?器的cpu?理能力.

不错的思路,学习下

我的做法是用php???生各?尺寸的?片,例如

我??a.jpg就是原?,每次用?在?求的?候??不同的尺寸到服?器,服?器???用img.php???整原??客?要求的尺寸,?整完?之後直接?出到客?端,?????出的?片?未被直接存?到服?器上,??做法的好?是不用存?多??片,也不?心流量??,但是他??用服?器的cpu?理能力.

请问和直接读文件比 响应速度如何?


我的做法是用php???生各?尺寸的?片,例如

我??a.jpg就是原?,每次用?在?求的?候??不同的尺寸到服?器,服?器???用img.php???整原??客?要求的尺寸,?整完?之後直接?出到客?端,?????出的?片?未被直接存?到服?器上,??做法的好?是不用存?多??片,也不?心流量??,但是他??用服?器的cpu?理能力.

请问和直接读文件比 响应速度如何? 比直接?取?存的多?尺寸的?片速度要慢,原因如下:直接?取已存?的?片只需要消耗????,而我的做法?需要cpu首先?整?片的尺寸再?出到客?端,所以多了一?步?.至於慢多少就要看服?器的cpu速度了.



我的做法是用php???生各?尺寸的?片,例如

我??a.jpg就是原?,每次用?在?求的?候??不同的尺寸到服?器,服?器???用img.php???整原??客?要求的尺寸,?整完?之後直接?出到客?端,?????出的?片?未被直接存?到服?器上,??做法的好?是不用存?多??片,也不?心流量??,但是他??用服?器的cpu?理能力.

请问和直接读文件比 响应速度如何? 比直接?取?存的多?尺寸的?片速度要慢,原因如下:直接?取已存?的?片只需要消耗????,而我的做法?需要cpu首先?整?片的尺寸再?出到客?端,所以多了一?步?.至於慢多少就要看服?器的cpu速度了.

明白了 不过这个思路不错 之前我没有想到

应该会有地方可以用到,不常用的图片之类的




我的做法是用php???生各?尺寸的?片,例如

我??a.jpg就是原?,每次用?在?求的?候??不同的尺寸到服?器,服?器???用img.php???整原??客?要求的尺寸,?整完?之後直接?出到客?端,?????出的?片?未被直接存?到服?器上,??做法的好?是不用存?多??片,也不?心流量??,但是他??用服?器的cpu?理能力.

请问和直接读文件比 响应速度如何? 比直接?取?存的多?尺寸的?片速度要慢,原因如下:直接?取已存?的?片只需要消耗????,而我的做法?需要cpu首先?整?片的尺寸再?出到客?端,所以多了一?步?.至於慢多少就要看服?器的cpu速度了.

明白了 不过这个思路不错 之前我没有想到

应该会有地方可以用到,不常用的图片之类的 ??做法的好?是只需要在服?器上存?一?原?即可,不需要考?多???,缺?是?有?外的cpu??




我的做法是用php???生各?尺寸的?片,例如

我??a.jpg就是原?,每次用?在?求的?候??不同的尺寸到服?器,服?器???用img.php???整原??客?要求的尺寸,?整完?之後直接?出到客?端,?????出的?片?未被直接存?到服?器上,??做法的好?是不用存?多??片,也不?心流量??,但是他??用服?器的cpu?理能力.

请问和直接读文件比 响应速度如何? 比直接?取?存的多?尺寸的?片速度要慢,原因如下:直接?取已存?的?片只需要消耗????,而我的做法?需要cpu首先?整?片的尺寸再?出到客?端,所以多了一?步?.至於慢多少就要看服?器的cpu速度了.

明白了 不过这个思路不错 之前我没有想到

应该会有地方可以用到,不常用的图片之类的

我也想过这种做法,比如在循环输出文章列表时,每输出一篇文章都要调用img.php输出缩略图
如果网站访问量大,这样网站可能变得很慢


页面上可能在不同位置,需要不同尺寸的图片

比如发表了一篇文章,上传标题图片,生成了一张原图580*700的和一个宿略图100*100的

如果我要在首页调用这个图片,尺寸是200*240的,怎么办, 是对580*700的原图限定width为200吗?(加载原图影响性能吧)

还是上传图片时,把需要的尺寸图全部上传上去(这样也不太好吧,比如我在首页或其它页面使用的尺寸都不同,岂不是要上传很多的不同尺寸的图片)

有没有什么好的解决方案
数据库结构怎么设计?有七个不同的尺寸标题图,建七个字段存放吗?

这样做时间长了,会产生很多的冗余图片吧,有些图片网站上始终用不到,但会一直存在服务器上占用空间

访问量大还是老老实实做静态文件吧
像#1的做法,每当有上传图片就执行转换,保存几种固定尺寸的图片?? 一劳
然后在不同页面调用适合的尺寸,虽然不一定就完全和页面要求一致,但用html轻微改变width/heigh影响不大?? 永逸

更大的站还要cdn缓存呢

动态生成图片对服务器压力太大,还是直接生成多种不同格式的好,毕竟硬盘不值钱。

如果怕图片过多,存储的时候按分辨率存在不同文件夹,以后整理的时候也好删除

人气教程排行