![]() |
![]() ![]() |
![]() |
![]()
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 |
|
|
![]()
Post
#2
|
|
![]() Administrator planeta/IRC Grupa: Przyjaciele php.pl Postów: 385 Pomógł: 0 Dołączył: 19.04.2003 Skąd: Zabrze Ostrzeżenie: (0%) ![]() ![]() |
Nudziło mi się, nudziło, nudziło..... aż znalazłem tego posta i postanowiłem troche pokodować
![]() ![]() [php:1:79ce749ade]<?php // funkcja zwracająca tablice z nazwami wszystkich plików *.jpg w danym katalogu function gal($gdzie) { $dir = opendir($gdzie); while($file = readdir($dir)) { $ext = explode('.', $file); if($ext[1] == 'jpg' && $file != '.' && $file != '..') { $gal[] = $file; } } closedir($dir); return $gal; } //include('index.txt'); // Konfiguracja $gdzie = $_GET['gdzie']; $ipp = 2; // images per page $ipl = 3; // images per line if ($gdzie == '') { include('index2.txt'); } else { $pliki = gal($gdzie); // pobieramy tablice z plikami za pomocą funkcji gal(); $ile = count($pliki); // Liczymy pliki $page = empty($_GET['page']) ? 0 : $_GET['page']; // wartość domyślna dla strony $od = $page * $ipp; // od którego obrazka zaczynać wyświetlanie $do = $od + $ipp; // na którym końcyć if($do > $ile) { // Aby nie było pustych miejsc na obrazki $do = $ile - ($ipp * $page); } $c = $od; // wartość początkowa dla zmiennej c (close tr) // Wyświetlanie obrazków echo '<table style="width: 100%" cellpadding="10" cellspacing="0">'."n"; for ($i = $od; $i < $do; $i++) { if(($i - $od) % $ipl == 0 || $i == $od){ echo "<tr>n"; $c += $ipl; } echo '<td style="text-align: center; vertical-align: middle">'; echo '<a href="'.$gdzie.'/'.$pliki[$i].'"><img src="'.$gdzie.'/m/'.$pliki[$i].'" style="border: none"></a>'; echo "</td>n"; if($i == $c || $i == $do - 1 ){ echo "</tr>n"; } } echo "</table>n"; // Wyświetlanie linków do stron echo '<div style="text-align: center">'; if(empty($page)) { echo '<<< |'; } else { echo '<a href="index.php?gdzie='.$gdzie.'&page='.($page - 1).'"><<<</A> |'; } for ($p = 0; $p < ceil($ile/$ipp); $p++) { $pg++; if($page == $p) { echo ' <b>'.$pg.'</b> |'; } else { echo ' <b><a href="index.php?gdzie='.$gdzie.'&page='.$p.'">'.$pg.'</a></b> |'; } } if($page == (ceil($ile / $ipp)) - 1) { echo '>>>'; } else { echo '<a href="index.php?gdzie='.$gdzie.'&page='.($page + 1).'">>>></A>'; } echo '</div>'; } ?>[/php:1:79ce749ade] -------------------- "Programmers are in a race with the Universe to create bigger and better idiot-proof programs, while the Universe is trying to create bigger and better idiots. So far the Universe is winning."
Cudi's devBlog |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
Cudi: jak ci się jeszcze kiedyś bedzie nudzić, zrób to na szablonach...
-------------------- |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 67 Pomógł: 0 Dołączył: 5.04.2003 Ostrzeżenie: (0%) ![]() ![]() |
Niestety mam problem z tymi skryptami - i z 1 i z 2.
Nie chce mi pokazywac miniatur - chocia uruchamim skrypt z parametrem - ?gdzie=nazwakatalogu z miniaturami. Jak wogole przerobic ten skrypt aby pokazywal nazwy kategorii (kategoriami sa katalogi) a po kliknieciu w nazwe kategorii wyswietlal wszystkie miniatury. ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 30.06.2025 - 22:52 |