oto kod skryptu:
<?php include("../config.php"); SELECT * FROM mini order by ID desc limit 1;'); { $url = $row["nazwa"]; $imgname = $url; // adres pliku przekazywany za pomocą parametru pic metodą GET, [edit.. adres leci
z bazy] // np. thumb.php?pic=obrazek.jpg $x_scale = 150; // szerokość miniaturki. Wysokość zostanie obliczona // automatycznie. Jeśli chcemy w różnych miejscach mieć różną // szerokość zastosujmy $x_scale = $_GET["width"]. Wtedy // szerokość będzie przekazywana parametrem width za pomocą // metody GET // tą funkcją wyciągamy istotne wiadomości (znak @ zapobiega // wyświetleniu błędu, gdy nie ma danego pliku). Wynikiem jest // tablica $width = $check[0]; // szerokość obrazka. $height = $check[1]; // wysokość obrazka $mime = $check[2]; // rodzaj obrazka (gif, jpeg, png...) if ($height > 0) { // jeśli szerokość jest większa od zera... $factor = $width/$height; // ...dzielimy szerokość przez wysokość... // ...a następnie obliczamy wysokość i zaokrąglamy w dół } else { // Jeśli szerokość jest mniejsza lub równa zeru... $y_scale=30; // ...wysokość miniaturki ma wartość 30... $width=$x_scale; // ...szerokość "oryginału" jest równa szerokości miniaturki... $height=30; // ... a wysokość równa 30. } function LoadImage($imgname) { // Tworzymy nową funkcję odczytującą zawartość obrazka // potrzebny będzie rodzaj obrazka i wymiary oryginału switch($mime){ // jeśli wartość zmiennej mime wynosi: case 1: // 1 $im = @ImageCreateFromGif($imgname); // Wczytaj zawartość GIFa $imgname do zmiennej $im break; // i zakończ pstryczka :) case 2: // jeśli wartość wynosi 2 $im = @ImageCreateFromJpeg($imgname); // Wczytaj zawartość JPEGa $imgname do zmiennej $im break; //i zakończ pstryczka case 3: // Jeśli wartość wynosi 3 $im = @ImageCreateFromPng($imgname); // Wczytaj zawartość pliku PNG $imgname do zmiennej $im break; // i zakończ pstryczka default: // gdy wartość jest inna $im = false; // nie wczytuj nic do zmiennej $im break; // i zakończ pstryczka } if (!$im) { // jeśli nie istnieje zmienna $im $im = ImageCreate($width, $height); // Utwórz w zmiennej $im obrazek o rozmiarach zdefiniowanych // wcześniej $bgc = ImageColorAllocate ($im, 255, 255, 255); // zapisz w zmiennej $bgc biały kolor (tło) $tc = ImageColorAllocate ($im, 0, 0, 0); // zapisz w zmiennej $tc czarny kolor ImageString($im, 2, 2, 2, "Błąd: $imgname", $tc); // wypisz komunikat ImageString($im, 2, 2, 15, "Brak pliku!", $tc); // o błędzie } return $im; // funkcja zwróci obrazek } function ShowThumb($imgname) { // tworzymy funkcję tworzącą miniaturki // będą potrzebne wymiary miniaturki i oryginału $thumb = ImageCreateTrueColor($x_scale,$y_scale); // Utwórz w zmiennej $thumb obrazek w palecie True Color // o wymiarach miniaturki ImageCopyResampled($thumb, LoadImage($imgname), 0, 0, 0, 0, $x_scale, $y_scale, $width, $height); // skopiuj i pomniejsz (wygładź) obrazek do zmiennej $thumb return $thumb; // funkcja zwraca miniaturkę } if (function_exists("imagegif")) { // Jeśli serwer obsługuje funkcję tworzenia GIFów // wyślij nagłówek GIFa ImageGIF(ShowThumb($imgname)); // przetwórz obrazek na GIFa i zwróć go } elseif (function_exists("imagejpeg")) { // Jeśli serwer obsługuje funkcję tworzenia JPEGów // wyślij nagłówek JPEGa ImageJPEG(ShowThumb($imgname), "", 80); // przetwórz obrazek na JPEGa i zwróć go (liczba 80 to jakość // obrazka) } elseif (function_exists("imagepng")) { // Jeśli serwer obsługuje funkcję tworzenia plików PNG // wyślij nagłówek PNG ImagePNG(ShowThumb($imgname)); // przetwórz obrazek na PNG i zwróć go } else // w przeciwnym wypadku //zwróć komunikat o błędzie. } ?>