Mam sobie galerie skladajaca sie z 2 plików php.:
indexgalerii.php
- Kod: Zaznacz cały
<?php
define('KATALOG_ZDJEC','./img/');
define('WIERSZY',6);
define('KOLUMN',6);
$x=0;
foreach (glob(KATALOG_ZDJEC."*.jpg") as $zdjecie) $album[$x++]=$zdjecie;
$na_stronie=WIERSZY*KOLUMN; $razem=count($album);
$stron=floor($razem/$na_stronie); $stron+=$razem % $na_stronie ? 1:0;
$pokaz_strone=$_GET['pokaz_strone']; if (!isset($pokaz_strone)) $pokaz_strone=1;
$start=($pokaz_strone-1) * $na_stronie;
$stop=($pokaz_strone==$stron) ? $razem % $na_stronie: $na_stronie; $stop+=$start;
echo "<table style='border: none'><tr>";
for ($x=$start;$x<$stop;$x++){
if (!($x % KOLUMN)) echo "</tr><tr>";
echo "<td><a href=\"".$album[$x]."\" target=\"_blank\"><img src=\"../mini.php?fotka="."{$album[$x]}\"></a>";
list($info)=explode('.',basename($album[$x]));
if(file_exists(KATALOG_ZDJEC.$info.".txt")){
$plik=fopen(KATALOG_ZDJEC.$info.".txt","r");
$opis=fgets($plik);
fclose($plik);
echo "<br>$opis";
}
echo "</td>";
}
echo "</tr><table>";
if ($stron>1){
echo "<br>";
echo "Strona: "; for($x=1;$x<=$stron;$x++) {
if ($pokaz_strone==$x){echo "<b> $x </b>";} else {echo "<a href=\"indexgalerii.php?pokaz_strone=$x\"> $x </a>";}
}
}
?>
oraz mini.php ktory jest odpowiedzialny za miniaturyzowanie obrazkow
- Kod: Zaznacz cały
<?php
/*
Ten plik jako wynik swojego dzialania bedzie generowal miniaturke
zdjecia przekazanego jako parametr wywolania skryptu
(np. http://sliwek.one.pl/mini.php?fotka=obrazek.jpg), dlatego tez
musimy poinformowac przegladarde aby traktowal go jak plik graficzny.
*/
header('Content-type: image/jpeg');
/* Definiujemy wymiary miniaturki */
define ('SZEROKOSC',80);
define ('WYSOKOSC',80);
/* Otwieramy orginalne zdjecie przekazane w adresie strony */
$orginal=imagecreatefromjpeg($_GET['fotka']);
/*
Pobieramy wymiary orginalnego zdjecia, sa one potrzebne dla
dla wygenerowania pomniejszonej wersji.
*/
list($org_szer,$org_wys)=getimagesize($_GET['fotka']);
/* Tworzymy nowy obraz o ustalonych wczesniej wymiarach miniaturki */
$minitaturka=imagecreatetruecolor(SZEROKOSC,WYSOKOSC);
/*
Przy pomocy tej funkcji tworzymy miniature pliki graficznego.
Jesli dysponujemy odpowiednio szybka maszyna, lepszy efekt uzyskamy
zamieniajac ja na:
imagecopyresampled($minitaturka,$orginal,0,0,0,0,SZEROKOSC,WYSOKOSC,$org_szer,$org_wys);
ktora oprocz zmniejszenia fizycznych rozmiarow, wygladza krawedzie oraz poprawia ostrosc.
*/
imagecopyresized($minitaturka,$orginal,0,0,0,0,SZEROKOSC,WYSOKOSC,$org_szer,$org_wys);
/* Gotowa miniature wysylamy do przegladarki */
imagejpeg($minitaturka,NULL,100);
?>
Niestety galeria wyświetla mi tylko pliki jpg, a chcialbym dodatkowo zeby wyswietlala pliki Gif i png. Jak mam wiec edytowac kod zeby dzialo to rowniez z gifami i png?