2011-07-12 10 views

Odpowiedz

2

Nie jest to odpowiedź czysto Zend Framework, ale ostatnio oszukałem jak szalony, jak następuje.

zainstalować phpThumb gdzieś wewnątrz folderu internetowego dostępne, powiedzieć:

http://example.com/img/t/phpThumb.php

I upewnij się, aby skonfigurować phpThumb użyć folderu cache:

/path/to/myapp/public/img/t/cache

które chmod być zapisywalnym na serwerze WWW.

Wtedy mam phpThumb view-pomocnika, który umożliwia mi zadzwonić oryginalny obraz z niektórych rozmiaru parametry:

<img src="<?php $view->phpThumb($origImgUrl, $desiredWidth, $desiredHeight) ?>">

cały widok pomocnika naprawdę nie jest przekształcenie url src do jednego, który biegnie przez moja instalacja phpThumb, upewniając się, aby dodać cool parametr zoom-center (!):

<img src="/img/t/phpThumb.php?src=origUrl&w=200&h=150&zc=1">

pierwsze wezwanie do tego obrazu z nich rozmiaru params wyniki pełną zmianę rozmiaru opartą na GD/ImageMagick, z pełnym hitem wydajności. Jednak kolejne wywołania tego obrazu będą pobierane z pamięci podręcznej. Nie tak dobry, jak wniosek o prawdziwie statyczny obraz, ale zwykle akceptowalny dla moich względnie niskich celów.

Jest to szczególnie przydatne podczas projektowania/opracowywania, gdy nie jestem pewien, jak duży powinien być jakiś front-endowy, cukierek do oczu. Więc mogę ukryć pojedynczą, względnie dużą wersję mojego obrazu (powiedzmy 640x480) w public/img/someBigImage.png, a następnie zmienić rozmiar w dowolnym momencie.

To hack - prawdopodobnie lepiej jest wykonać tę zmianę rozmiaru podczas przesyłania, o co właściwie pytasz - ale muszę przyznać, że użyłem go w kilku miejscach. Nie mów nikomu. ;-)