Witam. Znalazłem gotową galerie tylko mam problem z jej przekształceniem. Cały program opiera się na dwóch plikach:
galeria.php
<?
/*****************************************************************************
* Skrypt galerii v1.0 *
* Autor: Błażej Gruszka "Sn!pe" *
* Date: 2006-01-04 *
* www.snipe.ekipa.be *
* www.ekipa.be *
* *
* Skrypt potrzebuje biblioteki GD aby dzialal poprawnie *
* Opisy powinny znajdowac sie w pliku images.txt w danym katalogu, *
* w osobnych linijkach w formacie: obrazek1.jpg|Jakis opis do obrazka *
* *
* Jesli chcesz uzywac tego skryptu zostaw maly buttonik na stronie *
* z adresem do strony domowej autora *
******************************************************************************/
// funkcja pokazuje katalogi
function show_img_folders()
{
while(false !== ($img_dir = readdir($dp))) {
if($img_dir!='.' && $img_dir!='..')
if(is_dir($img_dir)) echo '<a href="?dir='.$img_dir.'">'.$img_dir.'</a><br />'; }
}
// funkcja pobiera obrazki z katalogu
function get_images($dir)
{
// tablica z roszerzeniami ktore bedzie obslugiwac nasza galeria
$extensions = array('jpg','jpeg');
// ladujemy obrazki
while(false !== ($image = readdir($dp))) {
if($image != '.' && $image != '..')
{
$images[] = $image;
}
}
return $images;
}
// funkcja pobiera opisy
function get_desc($dir)
{
// otwieramy plik z opisami
$file = 'images.txt';
{
$dp = fopen($dir.$file, 'r'); {
$desc = fgets($dp); // zczytujemy linijke z opisem $desc_exp[] = explode('|',$desc); // rozbijamy z formatu: obrazek.jpg|jakis opis }
return $desc_exp; // zwracamy tablice
} else die('<font color="red">Stworz plik: "images.txt" w katalogu: <b>'.$dir.'</b></font>'); }
if(isset($_GET['dir'])) // sprawdzamy czy ustawiono zmienna $_GET {
if(is_dir($_GET['dir'])) // sprawdzamy czy istnieje katalog {
$dir = $_GET['dir'].'/'; // katalog z fotkami
$images = get_images($dir); // pobieramy do zmiennej nazwy obrazkow
$descriptions = get_desc($dir); // pobieramy do zmiennej opisy
$col = 4; // ilosc kolumn obrazkow
// sprawdzamy czy tablica zawiera jakies nazwy obrazkow
if(count($images) == 0
) die('Nie znaleziono plikow graficznych');
// wyswietlamy wszystko
echo '<table align="center" style="border: 1px solid #000000"><tr><td colspan="'.$col.'"><b>'.$dir.'</b></td></tr><tr>'; foreach($images as $img)
{
echo '<td align="center"><table><tr><td valign="top" align="center"><a href="'.$dir.$img.'" target="_blank"><img src="graph.php?img_name='.$dir.$img.'" width="100" height="100" border="0"></a></td></td></tr><tr><td align="center">'; foreach($descriptions as $desc)
{
if($desc[0
]==$img) echo $desc[1
]; }
echo '</td></tr></table>'; $i++;
if($i==$col) // jesli $i = liczbie kolumn, tworzymy nowy wiersz
{
$i=0;
}
}
echo '</tr><tr><td colspan="'.$col.'"><a href="http://www.snipe.ekipa.be" target="_blank"><img src="logo.gif" border="0"></a></td></tr></table>'; } else echo 'Katalog nie istnieje'; } else show_img_folders(); // pokazujemy katalogi
?>
i graph.php
<?
// File and new size
$filename = $_GET['img_name'];
$percent = 0.2;
// Content type
header('Content-type: image/jpeg');
// Get new sizes
$newwidth = $width * $percent;
$newheight = $height * $percent;
// Load
$thumb = imagecreatetruecolor($newwidth, $newheight);
$source = imagecreatefromjpeg($filename);
// Resize
imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
// Output
imagejpeg($thumb);
?>
I co mnie boli... Chce wyłączyć funkcje show_img_folders która wyświetla wszystkie foldery w katalogu. Hmm Chodzi mi o to by pominął ten etap i sama strona galeria.php wyswietlała galerie. Oczywiście trzeba wcześniej zdeklarować $dir=folder_ze_fotami...
No własnie... Próbowałem ją deklarowac na początu programu i kombinowac jak można ale nie dałem sobie radę. Program działa mi tylko wtedy gdy url=galeria.php?dir=folder_ze_fotami. Prosze więc o pomoc. Z góry dziękuje