Loading:


MINIATURKI

miniaturka.php

<?
$imgname
= $_GET["pic"];
// adres pliku przekazywany za pomocą parametru pic metodą GET,
// np. miniaturka.php?pic=obrazek.jpg

$x_scale
= $_GET["width"];
// 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

$check
= @GetImageSize($imgname);
// 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ść...
$y_scale
= @floor($x_scale/$factor); // ...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
global $mime, $width, $height; // 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, 1, 2, 2, "Bład: $imgname", $tc); // wypisz komunikat
ImageString($im, 1, 2, 15, "Brak pliku!", $tc); // o błędzie
}
return $im;// funkcja zwróci obrazek
}
function ShowThumb($imgname) {// tworzymy funkcję tworzącą miniaturki
global $x_scale, $y_scale, $width, $height; // 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 ($mime=='2') {// Jeśli rozszerzenie obrazka to JPEG
Header("Content-type: image/jpeg"); // wyślij nagłówek JPEGa
ImageJPEG(ShowThumb($imgname), "", 80); // przetwórz obrazek na JPEGa i zwróć go (liczba 80 to jakość obrazka)
}
elseif
($mime=='1') {// Jeśli rozszerzenie obrazka to GIF
Header("Content-type: image/gif"); // wyślij nagłówek GIFa
ImageGIF(ShowThumb($imgname)); // przetwórz obrazek na GIFa i zwróć go
}

elseif
($mime=='3') {// Jeśli rozszerzenie obrazka to PNG
Header("Content-type: image/png"); // wyślij nagłówek PNG
ImagePNG(ShowThumb($imgname)); // przetwórz obrazek na PNG i zwróć go
}
else // w przeciwnym wypadku
die("Ten serwer nie obsługuje funkcji graficznych w PHP"); //zwróć komunikat o błędzie.
?>




Trochę zawiły ten sktypt... Ale przejdźmy dalej. Teraz udoskonalmy nasz skrypt galerii, aby wyświetlał miniaturki. Pokażę tylko część wyświetlającą obrazki:

{
echo
'<td>'; //otwieramy nową komórkę
echo
'<a href=galeria.php?zdj='.$row['id'].'>’; //otwieramy hiperłącze
echo ‘<img src="miniaturka.php?pic=galeria/'
.$row['zdjecie'].'&width=100" border=0 width=100></a>'; //hiperłącze do pliku z miniaturką zdjęcia + zdjęcie
echo
'</td>'; //zamykamy komórkę
}



Po dodaniu skryptu z miniaturką katalogi powinny wyglądać tak:

.
|-galeria
|  |-plaza.jpg
|  |-wczasy.jpg
|-galeria.php
|-miniaturka.php



Myślę, że nie będzie problemów z galerią.

PZDR
Bidziu890



Napisz Artyku³

Listing

niema




Dodano przez: bidziu890 Ranga: Poziom 7 Punktów: 248
Komentarze użytkowników
    • Tre¶æ komentarza
      Kod do komentarza (opcjonalnie)
      PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
      Autor
      Token
      token

       

       








funkcje.net
Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-2024 v.1.5 | design: diviXdesign & rainbowcolors