PHP pomoc w przerobieniu skryptu - listowanie i wyświetlanie


(Devil1985) #1

Zwracam się znów z wielką prośbą.

Mam skrypt jak poniżej znaleziony gdzieś w sieci:

<?

    $sciezka = "../www/pliki/docs/";

    $lista=array();

    $katalog = opendir($sciezka);

        while ($plik = strtolower(readdir($katalog))) {

              if (($plik<>".")&&($plik<>"..")) if(!is_dir($sciezka.$plik))

              $lista[]=$plik;

} 

    closedir($katalog);


    $l=0;

        for ($i=0;$i
    $l++;

  echo "$l) $lista[$i]
";

}

?>[/code]




Do tej pory dodawałem własną galerie na stronę poprzez ręczne dodawanie wpisu:

[code][![fotka_min.jpg](zdjecia/fotka_min.jpg)](zdjecia/fotka.jpg)

I na stronie wyświetlają mi się miniaturki a po kliknięciu wyskakuje oryginał w lightboxie.

Jako że nazbierało mi się sporo zdjęć i będzie ich jeszcze więcej oraz muszę przebudować stronę to chciałbym wrzucać tylko fotki na serwer + ewentualnie miniaturki i zapomnieć o ręcznym wklepywaniu.

Czy pomógłby mi ktoś przerobić w/w skrypt lub napisać coś podobnego aby działanie było jak do tej pory?

Słaby jestem w php i raczej ciężko będzie mi to ogarnąć.

Z góry dziękuję.

pozdrawiam

Krzysiek


(Pablo_Wawa) #2

Musisz po prostu przerobić poniższą (przedostatnią) linijkę skryptu

echo "$l) $lista[$i]

";

na dwie poniższe:

list($nazwa,$ext)=explode(".",$lista[$i]);

echo ""

";

Pierwsza linia rozdziela nazwę pliku od rozszerzenia (potrzebne dla wygenerowania nazwy miniaturki), w drugiej jest tworzenie linku jak chciałeś.

-- Dodane 01.04.2011 (Pt) 17:24 --

No i ścieżkę (pierwsza linia skryptu) też musisz poprawić na:

$sciezka = "zdjecia/";

Lub ją ewentualnie poprawić na inną jeśli Twój skrypt nie jest w folderze, w którym jest bezpośrednio podfolder "zdjecia".


(Devil1985) #3

Ślicznie dziękuję. Zaraz będę przerabiał owy skrypt i zobaczę jak będzie działał. Jeszcze raz dzięki.

-- Dodane 05.04.2011 (Wt) 14:58 --

Ekstra, działa jak należy. Ale mam jeszcze jedną prośbę. Skrypt ten próbuje zamienić wszystkie pliki jako galerie. Jak go zmienić aby brał pod uwagę tylko obrazki (jpg, gif, png)? W katalogu z obrazkami mam plik index.html który też jest zamieniany na odnośnik obrazkowy i brzydko to wygląda a musi on być w tym katalogu. pozdrawiam

-- Dodane 06.04.2011 (Śr) 10:27 --

Już sobie poradziłem. Jeszcze raz dzięki. Można zamknąć.

Oto rozwiązanie:

<?

    $sciezka = "zdj/";

    $lista=array();

    $katalog = opendir($sciezka);

        while ($plik = strtolower(readdir($katalog))) {

              if (($plik<>".")&&($plik<>"..")) if(!is_dir($sciezka.$plik)) if(strpos($plik, '.gif',1)||strpos($plik, '.jpg',1) )

              $lista[]=$plik;

} 

    closedir($katalog);


    $l=0;

        for ($i=0;$i
    $l++;

  	list($nazwa,$ext)=explode(".",$lista[$i]);

	echo "
";

}

?>[/code]