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: 0 Punktów: 0
    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-2025 v.1.5 | design: diviXdesign & rainbowcolors