我有一個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中託管的腳本來調整這些圖像的大小?有沒有其他的方法?想法是受歡迎的。
謝謝!
我有一個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中託管的腳本來調整這些圖像的大小?有沒有其他的方法?想法是受歡迎的。
謝謝!
我建議根據查詢字符串值設置您自己的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
有兩種方法可供選擇:
1)LAMBDA:如果你想要去的AWS服務本身的拉姆達是一個很好的你的解決方案
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腳本,可以調整圖像大小。 (請確保您有目錄的公共訪問)
試想一下:幾年現在 https://github.com/avalanche123/Imagine
最佳圖像處理庫。面向對象,單元測試,易於使用和麻省理工學院許可。如果有人知道另一個相同的質量,我會感到驚訝,並想知道這一點。:)
EasyphpThumbnail:http://www.mywebmymail.com/?q=content/easyphpthumbnail-class
的EasyPhpThumbnail圖像效果類可以處理圖像處理和PHP縮略圖生成的GIF,JPG和PNG上的動態。該類是免費的,基於100%PHP,可用於PHP4(從4.3.11)和PHP5,易於使用,並提供了60多種操作的很多功能:
爲了更好地使用AWS cloudfront或非aws,您可以對特定文件使用良好的CDN服務,例如在CDN上放置timthumb(確保服務器類型爲拉服務器CDN)。 – manish1706 2017-02-10 14:35:16
謝謝,我做到了。 – bodruk 2015-01-23 12:57:40