[ urkozamanje @ 24.01.2006. 12:20 ] @
u pitanju je f-ja scandir. moj kod izgleda ovako:
Code:
$direktorijum = "../arhiva/1";
$niz_fajlova=(scandir($direktorijum,1));

print_r($niz_fajlova);


pri pravljenju niza ukljucuje dva elementa vise nego sto ima fajlova i imenuje ih sa "." i ".." tj. na naredbu print_r($niz_fajlova); izlista mi sledece:
Array
(
[0] => scan00022.pdf
[1] => scan00019.pdf
[2] => proba.txt
[4] => ..
[5] => .
)

kako da izbegnem listanje ova dva nepostojeca file-a ??
[ Nemanja Avramović @ 24.01.2006. 12:31 ] @
To nisu dva nepostojeca fajla. Tacka (.) oznacava trenutni direktorijum a tacka tacka (..) roditeljski direktorijum. Ne mozes izbegnuti listanje ta dva elementa (mozda mozes ako funkcija scandir prima jos neki parametar kojim eliminise te elemente - pogledaj manual). Najbolje je da posle, pri listanju, ili mozda odmah prodjes kroz array i samo proveris ako je trenutni element . ili .. onda ga obrises (preskocis ako je listanje u pitanju).
[ sale83 @ 25.01.2006. 02:19 ] @
Evo ga resenja:

Code:


$direktorijum = "../arhiva/1";

function ListanjeDirektorijuma($folder) {
  $skeniraj = scandir($folder);
  $niz= array();
  foreach($skeniraj as $naziv) {
   if ($naziv != '.' && $naziv != '..') {
     $niz[] = $naziv;
   }
  }
  if (!ksort($niz)) return false;
  return $niz;
}

echo"<pre>";
print_r(ListanjeDirektorijuma($direktorijum));