Autor | Zpráva | ||
---|---|---|---|
Hitman1 Profil * |
#1 · Zasláno: 2. 6. 2013, 15:15:38
Dobré odpoledne,
vytvořil jsem si jednoduchý script pro galerii obrázků. Potřeboval jsem ji ale doplnit o kategorie - složky, na to jsem použil script, který prohledává adresáře a vypisuje je. Takže pokud jsem ve složce galerie, zobrazí mi složky v ní, pak další atd. (jde mi ale jen o jednu úroveň). Problém je v tom, že mám složku web.com/nejaka-kategorie a web.com/dalsi-kategorie a musel bych tak obrázky ukládat do web.com/nejaka-kategorie/slozka-obrazku/obrazek, což nechci. Obrázky bych chtěl mít v web.com/galerie/kategorie1, web.com/galerie/kategorie2 atd. Jde o to, že script bere url ze stránky na které jsem takže třeba web.com/nejaka-kategorie.index.php?slozka=... ale potřeboval bych mu podstrčit adresu web.com/galerie/index.php je to možné? Ještě zjednodušeně: na adrese web.com/nejaka-kategorie/index.php bych chtěl scriptu podstrčit adresu web.com/galerie/index.php je to možné? $slozka = @$_GET['slozka']; $slozka = preg_replace('/\.+\//','',$slozka); // nahradit vse co ma 1 a vice tecek nasledovanou / $slozka = preg_replace('/^\.+$/','',$slozka); // nahradit jednu a vice tecek na konci retezce $slozka = preg_replace('/^\//','',$slozka); // odstranit / na zacatku (da se hodit i /\/+/ za jedno '/' - tj. //// => / a podobne ) $sl = opendir('./'.$slozka); // protoze odstranuju tecky tak na zacatku adresare je jednu potreba pridat while ($soubor = readdir($sl)) { if ( is_file('./'.$slozka.'/'.$soubor) ) { // pokud je to soubor nema smysl davat odkaz na zanoreni do podadresare if ( preg_match('/\.(jpg|png|gif|tiff)$/',$soubor) ) { // zobrazuju jen .jpg / .png / .gif / .tiff (lze libovolne rozsirit) ZDE je script pro vypis galerie } } else { // jinak je to adresar if ( $soubor == '..' ) { // specialni "zastupny" adresar - o uroven vyse $up = preg_replace( '/[^\/]+\/*$/','',$slozka ); // odstranim posledni cast v slozka ( neco/blabla/test => neco/blabla (muze byt i ukonceno / )) echo "<a href='?slozka=$up'>[up]</a>"; // vypsat } elseif( $soubor != '.' ) { // pokud to neni zastupny adresar pro "aktualni" adresar echo "<a href='?slozka=".($slozka ==''? '': $slozka."/")."$soubor'>$soubor</a>"; // vypsat (pripadne se zbavit / na zacatku pokud je $slozka prazdna) } } } closedir($sl); ?> |
||
Taps Profil |
#2 · Zasláno: 2. 6. 2013, 16:42:27
|
||
Časová prodleva: 11 let
|
0