根据后缀名判断路由怎么写?
我想实现,只要是图片就可以根据路由参数自动压缩尺寸的功能,但是图片地址都是不一定的,要怎么写路由呢?
比如(一个参数就是宽度,两个参数就是宽度和高度):
www.xxx.com/uploads/images/23hhd8ghs.jpg
www.xxx.com/uploads/covers/234ssfa.jpg
变成
www.xxx.com/uploads/images/23hhd8ghs/48 或者 www.xxx.com/uploads/images/23hhd8ghs/48x48
www.xxx.com/uploads/covers/234ssfa/1080 或者 www.xxx.com/uploads/covers/234ssfa/1080x1920
然后有一个统一的路由可以把图片都处理了,思路有点凌乱,现在想的就是先怎么判断一下用户是不是在请求图片,然后302到一个固定的路由,然后用laravel自定的Image resize一下,然后定期处理一下resize文件夹
求各位大佬指导~
aws有个废弃的项目,他们以前处理缩略图的思路和你差不多,你可以参考一下 github.com/littlehi/aws-s3-resize-...
nginx做好一点,用php太耗费内存了
建议使用第三方存储 如果使用PHP做的话 图片过大会消耗服务器的大量资源和宽带 我正在使用 七牛云对图片设置不同的样式可以实现 缩略图等功能
推荐采用较成熟的云服务来做这种事情,比如阿里云 七牛云都有现成的 api 已经兼容你设计的功能,且兼容性更好。比如背景填充、拉伸变形、水印 和 有损压缩质量调整等。
这玩意以前弄过,不过是在七牛和aws上,平台会给你处理好。个人建议不要弄php去处理这些东西吧,剪裁压缩太占用内存了
问题本身:路由参数+正则 其他问题:php本身就慢,而且图片资源显然是在网站里占比很大的一部分,这样做付出的服务器配置代价比你使用云服务要多得多,这样做显然不合理,除非你固定某一些尺寸,生成本地文件,这样文件存在时不走php,稍微好点