![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 3.06.2003 Skąd: Zielone miasto nad Psiną Ostrzeżenie: (0%) ![]() ![]() |
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 -------------------- Postępuj zawsze właściwie. Da to satysfakcję kilku ludziom, a resztę zadziwi.
Mark Twain |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 26.06.2025 - 23:32 |