2014-11-05 78 views
4

我有一个PHP REST API来托管Amazon S3中的所有图像。我正在寻找一个插件或技巧来使用GET参数调整图像大小。例如:调整AWS S3中的图像

http://my-bucket.s3.amazon.com/image.jpg?width=300&height=300 

我发现this plugin,但我的团队成员说,这是基于ASP.NET和不适合我的PHP API项目。我应该使用EC2中托管的脚本来调整这些图像的大小?有没有其他的方法?想法是受欢迎的。

谢谢!

回答

1

我建议根据查询字符串值设置您自己的PHP服务来调整图像大小,如您所描述的。是的,PHP服务可以托管在AWS 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] https://httpd.apache.org/docs/current/mod/mod_rewrite.html

[2] http://phpthumb.sourceforge.net/

+1

谢谢,我做到了。 – bodruk 2015-01-23 12:57:40

0

有两种方法可供选择:

1)LAMBDA:如果你想要去的AWS服务本身的拉姆达是一个很好的你的解决方案

http://docs.aws.amazon.com/lambda/latest/dg/walkthrough-s3-events-adminuser.html

有AWS lambda代码可以根据配置的值生成缩略图。 AWS Lambda控制台本身有一些可以调整为工作系统的控制台。到控制台的链接不会起作用,除非你已经登录

2)第三方:您可以使用第三方的大小调整像

Timthumbhttps://github.com/GabrielGil/TimThumb

TimThumb是一个简单的,灵活的PHP脚本,可以调整图像大小。 (请确保您有目录的公共访问)

试想一下:几年现在 https://github.com/avalanche123/Imagine

最佳图像处理库。面向对象,单元测试,易于使用和麻省理工学院许可。如果有人知道另一个相同的质量,我会感到惊讶,并想知道这一点。:)

EasyphpThumbnailhttp://www.mywebmymail.com/?q=content/easyphpthumbnail-class

的EasyPhpThumbnail图像效果类可以处理图像处理和PHP缩略图生成的GIF,JPG和PNG上的动态。该类是免费的,基于100%PHP,可用于PHP4(从4.3.11)和PHP5,易于使用,并提供了60多种操作的很多功能:

+1

为了更好地使用AWS cloudfront或非aws,您可以对特定文件使用良好的CDN服务,例如在CDN上放置timthumb(确保服务器类型为拉服务器CDN)。 – manish1706 2017-02-10 14:35:16