Wpis z mikrobloga

#hosting #pytaniedoeksperta #webdev Hej mirki załóżmy że mam taki sobie swój serwer gdzie chciałbym trzymać obrazy pod www. Serwer mam pod apache2 i jak i czym zrobic cos takiego jak ma np blogger ze w adresie do grafiki jest parametr np s1600 oznaczający jaki obrazek ma zwrócić serwer można uzyć np parametru w200-h300-c i to nam zwróci obrazek o rozmiarze 200x300 Takie zmienainie rozmiaru w locie po url :) z możliwością cacheowania :) przykładowy adres bloggera http://2.bp.blogspot.com/_UoS5AUL2_Pc/S_Gzmg--2FI/AAAAAAAAAdE/dxzRhBfzjSc/s1600/blogger6.jpg jak widzicie przed nazwą jest parametr :D
  • 12
@takelbery: Tutaj masz gotowca ode mnie, takie coś wrzucam jak site jest za mały aby stawiać CDN z prawdziwego zdarzenia. http://pastebin.com/bjszSRa3 Wrzuć to do /static/resize.php w folderze głównym, utwórz tam katalog cache (/static/cache z chmod 777), a w głównym katalogu w .htaccess lub konfigu vhosta ustaw :

RewriteCond %{QUERY_STRING} ^.+$

RewriteRule ^(.*)(jpg|jpeg|gif|png)$ /static/resize.php?source=$1$2&$3 [QSA,NC,L]

Dzięki temu teraz do dowolnego obrazka umieszczonego poniżej katalogu głównego możesz dodać parametry ?width=x&height=x&mode=y (y to może
@takelbery: Tak, coś takiego. @vegat napisał dobry przykład, chociaż chyba trochę zbyt rozbudowany. Pamiętaj że zmiana rozmiaru może nastąpić na dwa sposoby: poprzez przycięcie lub poprzez rozciąganie/skurczanie. Skryptów tego typu jest w sieci mnóstwo i z pewnością znajdziesz coś, co Ci odpowiada:)
@vegat: dzięki za przykład jest fajny, ale chciałbym aby odnośnik do oryginalnego pliku nie był az tak wystawiony :) dlatego skorzystam lub tez zmodyfikuje przykłąd który znalazłem tam mam wiekszą kontrole nad wyglądem linków do zdjęć :)

@Milek: Człowiek im wiecej sie uczy tym zdaje sobie sprawe ze wie mniej :D
#!$%@? to robicie. Rewrite - owszem. Ale powinno to działać statycznie a nie #!$%@? z użyciem parsera php...

Za pierwszym razem rewrite uderza w php ktory generuje plik i zapisuje w dana sciezke. Za drugim razem rzadanie bije od razu w plik. Tylko adres musi byc inny np:

Wys/szer/plik.jpg
@takelbery: zwróć uwagę, czy takim dynamicznym resizowaniem nie zabijesz serwera - w przypadku większego ruchu może zdarzyć się, że ten sam obrazek będzie przetwarzane kilkukrotnie - aż prosi się, aby to jakoś skeszować...