php 根据url参数 返回不同尺寸的图片


在做一个适配多屏幕的网页,所以不同屏幕上采用不同尺寸的图片,以节省流量。由于适应的屏幕种类后期可能会增加,所以统一采用: http://xxx.com/pic.php?id=10001_300_3... 类似的url来请求图片。最后的“300_300”是要求的图片长和宽,服务器端根据文件名先查找有没有该尺寸的图片,有则直接返回,没有则使用原图裁切后返回。

现在问题是:有则直接返回,这段代码怎么写能使得效率比较高。因为这毕竟经过php处理了,能否结合ngix服务器的直接返回静态文件来实现?即如果符合尺寸的图片存在则直接返回(最好不经过php处理),没有再交给php处理。

php 图片

我是中国人 11 years ago

你可以使用rewrite重写的机制来实现你说的:

即如果符合尺寸的图片存在则直接返回(最好不经过php处理),没有再交给php处理。

例如图片的路径是 http://xxx.com/pic/600_600/10001.jpg
使用http://xxx.com/pic/600_600/10001.jpg,访问的话一定可以访问到

但是访问http://xxx.com/pic/300_300/10001.jpg,访问的话就会不存在,这时就可以将上面地址重写到http://xxx.com/pic.php?id=10001_300_300.jpg

这样的地址也可以通过cdn缓存起来。

夜依听风雨 answered 11 years ago

Your Answer