我有一个PHP REST API,托管在Amazon S3中的所有图片。我正在寻找一种插件或技巧,使用GET参数调整图像大小。例如:
http://my-bucket.s3.amazon.com/image.jpg?width=300&height=300
我发现了这个插件,但我的团队成员说它是基于ASP.NET的,不适用于我的PHP API项目。我应该使用托管在EC2上的脚本来调整大小那些图像吗?还有其他方法吗?欢迎提出想法。
谢谢!
我有一个PHP REST API,托管在Amazon S3中的所有图片。我正在寻找一种插件或技巧,使用GET参数调整图像大小。例如:
http://my-bucket.s3.amazon.com/image.jpg?width=300&height=300
我发现了这个插件,但我的团队成员说它是基于ASP.NET的,不适用于我的PHP API项目。我应该使用托管在EC2上的脚本来调整大小那些图像吗?还有其他方法吗?欢迎提出想法。
谢谢!
http://example.com/images/image.jpg?width=300&height=300
这需要进行配置(也许使用mod_rewrite [1]),以接收图像的名称(例如:'image.jpg')并将查询字符串大小值传递到您的PHP脚本中。然后,该脚本将在S3上查找您的图像,使用图像库(如ImageMagick / PHP GD或PHPThumb [2])对其进行调整大小,将其保存(或不保存)回到S3,并通过原始请求传递图像数据。有两个选项可用:
1)LAMBDA:如果您想使用AWS服务本身,lambda是一个很好的解决方案
http://docs.aws.amazon.com/lambda/latest/dg/walkthrough-s3-events-adminuser.html
有 AWS lambda 代码可以根据配置的值生成缩略图。AWS Lambda 控制台本身就有一些代码,您可以将其调整为工作系统。控制台的链接在未登录的情况下无法使用。
2) 第三方:您可以使用第三方调整大小程序,例如
Timthumb: https://github.com/GabrielGil/TimThumb
TimThumb是一个简单、灵活的PHP脚本,可调整图像大小。(请确保您的目录具有公共访问权限)
Imagine: https://github.com/avalanche123/Imagine
多年来最好的图像处理库。采用面向对象编程(OOP),经过单元测试,易于使用且MIT许可证授权。如果有人知道同样质量的其他库,我会感到惊讶并希望了解。
EasyphpThumbnail : http://www.mywebmymail.com/?q=content/easyphpthumbnail-class
EasyPhpThumbnail图像效果类允许您处理GIF、JPG和PNG的图像操作和PHP缩略图生成。该类是免费的,100%基于PHP,适用于PHP4(从4.3.11)和PHP5,易于使用,并提供超过60种操作功能: