[ shoba @ 13.01.2004. 12:59 ] @
Koristio sam

$dir=opendir("./fajlovi");
da otvorim direktorijum ciji sadrzaj zelim da prikazem na stranici i
$file=readdir($dir);
da sve to prikazem.

Fajlovi su listani onako kako su unoseni u direktorijum, a meni treba ili obrnuti redosled (da na vrhu budu najnoviji fajlovi) ili po abecednom redu.
Pokusavao sam f-jom rewinddir(), ali nista se ne desava.

Sta u stvari radi ova f-ja i kako se koristi? Da li je ona resenje ili nesto drugo?

Nemam mogucnosti da otvorim bazu na serveru!

pozdrav!
[ Jbyn4e @ 13.01.2004. 13:40 ] @
http://www.php.net/readdir
pa gledaj, imas primere kako da ubacis spisak u niz pa da sortiras....
[ Goran Rakić @ 13.01.2004. 13:41 ] @
napuni fajlove u niz, za svaki fajl u isti niz stavi i vreme promene u UNIX Timestamp-u i onda sortiraj niz i prikaži ga.
[ dinke @ 13.01.2004. 18:25 ] @
Evo ti kod (vec sam ga imao pa da ne budem sebican ;)

Code:

//read directory and return array with all files in dir
function get_file_list($dirname)
 {
   if (is_dir($dirname) && $dh = opendir($dirname)) 
    { 
      while (($filename = readdir($dh)) !== false) 
       { 
            if (is_file ("$dirname/$filename"))
                $filelist[]=$filename;
       }
       
      closedir($dh);         
        if (isset ($filelist))
              return $filelist;
        else
              return null;
    }
   else
    {
      return false;
    }
 }


Sve sto treba da uradis je da ovaj niz koji f-ja vraca sortiras kako tebi odgovara.

Pozdrav
Dinke
[ Goran Rakić @ 13.01.2004. 18:47 ] @
samo što tebi treba da pored imena imaš i datum (u UNIX timestampu jer je pogodno za sortiranje) promene tog fajla. To možeš da dobiješ iz niza koji vraća fstat ili kako se već zove funkcija. Onda umesto da u niz dodaš string, ti dodaš novi niz od ime+datum ( $filelist[] = array('name'=>$filename, 'datum'=>~zadnja_promena~($filename)); ) Onda posle samo sortiraj niz i prikaži ga.
[ Dejan Krstic @ 14.01.2004. 17:28 ] @
Ako ce da sortira po abecedi onda mu ne treba timestamp.