Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][AJAX] Rekurencyjne skanowanie folderow i podfolderow
lupos
post
Post #1





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 9.09.2008

Ostrzeżenie: (0%)
-----


Hey.
Chcialem przeskanowac foldery i podfoldery uzywajac lightbox2.04
Poniżej kod do skanowania samych folderow.
Jak i gdzie dopisac by rekurencyjnie wywołać skanowanie podlfolderów
CODE


function createLbFromDir ($linkname, $galname, $directory, $thumbdirectory, $extensions = array ('jpg', 'jpeg')) {
$gallery = "";
$dh = opendir ($directory);
while ($file = readdir ($dh)) {
$parts = explode(".", basename ($file));
$extension = $parts[count($parts)-1];
if (!is_dir ($directory . $file) && ($file != ".." && $file != ".") && in_array($extension, $extensions)) {
$gallery.= "";
}
}
return $gallery;
}
?>



moze jakas pętelka w wyowłaniu samego kodu:
CODE
<?php echo createLbFromDir ("Linkname", "galleryname", "imagefolder/" , "thumbfolder/"); ?>

Bardzo prosze o pomoc i ewentualną modyfikację skrptu
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
golaod
post
Post #2





Grupa: Zarejestrowani
Postów: 419
Pomógł: 42
Dołączył: 12.08.2008
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Możesz mi swoją rekurencyjność wyjaśnić bo ja chyba ślepy jestem. Rekurencyjnie to jak raz wywołasz funkcje która przeczyta cały folder, odsieje foldery a pliki, i ze znalezionych folderów znowu SAMA siebie wywoła.
Go to the top of the page
+Quote Post
lupos
post
Post #3





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 9.09.2008

Ostrzeżenie: (0%)
-----


Cytat(golaod @ 15.09.2008, 14:31:56 ) *
Możesz mi swoją rekurencyjność wyjaśnić bo ja chyba ślepy jestem. Rekurencyjnie to jak raz wywołasz funkcje która przeczyta cały folder, odsieje foldery a pliki, i ze znalezionych folderów znowu SAMA siebie wywoła.


Nie będę tu przytaczał definicji rekurencyjności ale tak moj kod oczywiscie jej nie zawiera. Czyta same katalogi które zdefiniujemy. A chciałbym gdy znajdzie folder ponownie przeskanowć podfoldery.
A może sama ktoś zna metodę zwracającą same foldery z podfolderami?
Go to the top of the page
+Quote Post
golaod
post
Post #4





Grupa: Zarejestrowani
Postów: 419
Pomógł: 42
Dołączył: 12.08.2008
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Odświeżam bo nikt nie napisał, a ja sam nie miałem czasu wcześniej. (Poza tym komuś się może jednak przydać)
  1. <?php
  2. $dir;
  3. function listowanie($dir)
  4. {
  5.    if($uchwyt = opendir($_GET['dir']))
  6.    {
  7.        while(false !== ($file = readdir($uchwyt)))
  8.        {
  9.            if(is_dir($dir.$file) && !stristr($file, "."))
  10.            {
  11.                listowanie($dir.$file);
  12.                echo $file.'<br />';
  13.            }
  14.        }
  15.        closedir($uchwyt);
  16.    }
  17. }
  18. listowanie(':/');
  19. ?>

Jak rozumiesz konstrukcje tego co napisałem to sam z pewnością bez problemu dopiszesz obsługę plików które wrzucisz do tablicy czy gdziekolwiek indziej.(Czy poprawne, nie mam pojęcia, kiedyś w każdym razie z podobnego korzystałem - to zaś pisane z palca jest)

Ten post edytował golaod 18.09.2008, 14:04:38
Go to the top of the page
+Quote Post
mike
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


~golaod a tak nie prościej:
  1. <?php
  2.  
  3. $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator('dir'), 1);
  4. foreach($iterator as $splFileInfo ) {
  5.    echo $splFileInfo . "<br />\n";
  6. }
  7.  
  8. ?>
(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
golaod
post
Post #6





Grupa: Zarejestrowani
Postów: 419
Pomógł: 42
Dołączył: 12.08.2008
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


W sytuacji gdy korzystamy z klas na pewno ;] Sam jednak nie korzystał z klasy tylko z kodu własnego więc i ja tak zrobiłem.
Go to the top of the page
+Quote Post
lupos
post
Post #7





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 9.09.2008

Ostrzeżenie: (0%)
-----


dzieki za pomoc :-)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 17.10.2025 - 17:55