Nigdy nie mogłem znaleźć prostego skryptu który by wrzucał miniaturki grafiki z katalogu do tabeli jako odnośniki do większych obrazków, więc korzystając z kodów umieszczonych na tym forum zlepiłem skrypcik. Na moje potrzeby starczy i przynajmniej kumam co robi.(tak mi się zdaje)
Mam jednak prośbę. Jest napisany chaotycznie (nie jestem programistą) i pewnie można go poprawić więc proszę o wskazówki...
(małe i duże grafiki muszą mieć te same nazwy, z tym że małe są w katalogu "m" a znajduje się on tam gdzie duże)
[php:1:fa42a6a368]<?php
<?
include ("index.txt");
// wstawia stronę (przyciski które będą widoczne cały czas i takie tam...)
$max="18";
$_GET['gdzie'] ;
if ($gdzie =="") {
include ("index2.txt");//jeśli otworzy się bez parametru to pokaze obrazki które bedą odnośnikami do kolejnych kategorii galerii
}
else { // a jeśli z parametrem to funkcja galeria bedzie robić to co trzeba
function gal() { //funkcja czytajaca pliki
global $gdzie;
global $ile;
$dir = opendir($gdzie);
while ($file = readdir($dir)) {
$ext = explode('.',$file);
$cnt = count($ext);
if (($ext = 'jpg')&&($file <> ".")&&($file <> "..")&&($file <> 'm'))// w każdym katalogu z plikami jest katalog m z miniaturkami dlatego m musi pominąć $tgal[] = $file ;
}
closedir ($dir);
return $gal ;// zapisuje w tablicy nazwy plików
} //koniec funkcji
$pliki = gal(); // a to to nie wiem po co ?
$ile=count($pliki);// liczy elementy w tablicy
if (($page > ceil($ile/$max))||($page < 0))$page="1" ;//to też bym zastąpił czymś lepszym
if($page==""){ // to też
$page="1";
$start="0";
}
else{
$start=$page*$max;
$start=$start-$max;
}
//wyświetla pliki w tabeli
echo "n<table border="0" width="100%" cellpadding="10" cellspacing="0">n";
for ($index=$start, $a=0; $index < $page*$max; $index++)
{
if($a==0)
{
echo "n<tr>";
echo "<td align="center" valign="middle"><a href=jeden/$pliki[$index]><img src=jeden/m/$pliki[$index] border=0></a></td>";
$a+=1;
}
elseif($a==1)
{
echo "<td align="center" valign="middle"><a href=jeden/$pliki[$index]><img src=jeden/m/$pliki[$index] border=0></a></td>";
$a+=1;
}
elseif($a==2)
{
echo "<td align="center" valign="middle"><a href=jeden/$pliki[$index]><img src=jeden/m/$pliki[$index] border=0></a></td>";
echo "n</tr>";
$a=0;
} }//koniec wyświetlania miniaturek
// wyświetla numery stron
$stron=ceil($ile/$max);
//wykonujemy pętle
echo "<td colspan=3 align="center" valign="middle">";
for ($in=1; $in < $stron; $in++) {
// żeby numer aktualnej strony nie był linkiem
if($page==$in)
{
echo" <font color="red"><b>$in</b></font> ::";
}
else{
//jesli nie tworzymy link do strony
echo" <b><a href="index.php?gdzie=jeden&page=$in">$in</a></b> ::";
}
}
?>
?>[/php:1:fa42a6a368]
e tak w ogóle to aż wstyd mi wysyłać taki kod. Ale działa...
tylko poradźcie co zmienić. Głównie chodzi mi o to by nazwy katalogów nie były widoczne w url-u. Może inną zmienną jako numerki i switch - case, ale nie wiem czemu mi nie wychodzi.
No i zabezpieczenia np żeby nie wyświetlał błędu jak zmienna page to nie liczba (też mi nie wyszło).
Uff