2014-11-05 54 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