Miesięczne archiwum: Październik 2012

Yii phpThumb tworzenie miniatur

phpThumb() to prosta i lekka biblioteka operująca na popularnych formatach grafik powstała na silniku GD. Idealna do tworzenia miniatur zdjęć w takich formatach jak .JPG .PNG .GIF .BMP. Podstawowe operacje to zmniejszanie wymiarów zdjęć, przycinanie zdjęcia do konkretnego wymiaru(kadrowanie), rotacja itp. Jeśli potrzebujesz w łatwy i szybki sposób tworzyć miniatury zdjęć to ta biblioteka jest właśnie dla Ciebie.

Yii i phpThumb

Tworząc aplikację w Yii framework mamy do dyspozycji rozszerzenie EphpThumb  i jedynymi rzeczami jakie trzeba w nim zrobić to skopiowanie rozszerzenia do folderu /protected/extensions/ oraz dopisanie w pliku /protected/config/main.php nowego komponentu co widać poniżej:

 

Teraz możemy już korzystać z możliwości tej biblioteki. Przykładowa zmiana wymiarów zdjęcia:

To tylko jedna z funkcji tej biblioteki. Jedną z kilku ciekawych funkcji jest też przycięcie obrazka do środka tzn. kadrowanie obrazu. Do tego celu służy funkcja adaptiveResize():

 

Mając np. zdjęcie o wymiarach 1200x800px zostanie wycięty ze środka fragment o wymiarach 200x200px.

Dostępne są również takie funkcje jak rotateImage(), crop(), czy resizePercent(), które możecie sobie sprawdzić sami lub sprawdzając ich działanie na stronie phpthumb https://github.com/masterexploder/PHPThumb/wiki/Basic-Usage

Serdecznie zapraszam do korzystania z rozszerzenia EphpThumb i pozdrawiam Haensel.

 

 

Yii CDbConnection nie zdołał otworzyć połączenia DB.

Pewnego pięknego dnia przerzucając swoją aplikację na serwer klienta spotkała mnie dość ciekawa niespodzianka.

Error 500

CDbConnection nie zdołał otworzyć połączenia DB.

 

Pomyślałem sobie od razu,  pewnie dane dostępowe do mojej bazy mysql się nie zgadzają… Jeszcze większą niespodzianką było to,  że dane w pliku /config/main.php były w 100% poprawne.  Szukając w sieci rozwiązania mojego problemu, nigdzie nie znalazłem jednoznacznej odpowiedzi na mój problem. Zdziwiony tym zjawiskiem użyłem magicznego skryptu skonstruowanego w php:


I co widzę? Działa :)

I wtedy tchnęła mnie jedna myśl aby zrobić to co powinienem zrobić na samym początku, czyli sprawdzić ustawienia serwera, oraz php.
Używając funkcji phpinfo():

I wszystko mi się wyjaśniło, gdy zobaczyłem, że nie ma zainstalowanego sterownika PDO dla Mysql. Przypadek trochę dziwny, choć niektórym znany.  Na szczęście PDO jest coraz bardziej popularne i u większości hostingodawców jest on dostępny. Oczywiście możecie sobie napisać funkcję korzystającą z PDO, aby sprawdzić czy działa, ale po co za dużo klikać. :)