[php] Bestanden uit een directory opsommen.

Pagina: 1
Acties:
  • 98 views sinds 30-01-2008

Acties:
  • 0 Henk 'm!

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 29-05 22:54
Hoe kan ik in php alle bestanden uit een directory opvragen? Ik denk zelf dat het uit veiligheids redenen niet mogelijk is maar toch maar ff vragen. Heb niks gevonden met zoeken.

Noushka's Magnificent Dream | Unity


Acties:
  • 0 Henk 'm!

  • Erik Jan
  • Registratie: Juni 1999
  • Niet online

Erik Jan

Langzaam en zeker

Zie eerste commentaar in www.php.net/dir :)

[ Voor 4% gewijzigd door Erik Jan op 27-01-2003 14:42 ]

This can no longer be ignored.


Acties:
  • 0 Henk 'm!

  • Flake
  • Registratie: Februari 2001
  • Laatst online: 01-11-2024

Acties:
  • 0 Henk 'm!

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 29-05 22:54
hmm ik begrijp iets niet van die code. Als de $file var eigenlijk een dir is dan roept functie zichzelf weer aan, die returned weer of roept zichzelf weer aan etc, maar met de returned array wordt niets gedaan :? Dan als alle dirs zijn uitgelezen dan wordt een array met alleen de files van de eerste directory gereturned?? of kijk ik nou verkeerd?

[ Voor 3% gewijzigd door Michali op 27-01-2003 14:51 ]

Noushka's Magnificent Dream | Unity


Acties:
  • 0 Henk 'm!

  • johnny7
  • Registratie: November 2000
  • Laatst online: 07-11-2023
Die voorbeelden echo-en wat ze gevonden hebben. Je moet dus zelf even een array aanmaken en dan elke keer die $file toevoegen aan het array. Niet echt moeilijk.....

Acties:
  • 0 Henk 'm!

  • PrinsEdje80
  • Registratie: Oktober 2001
  • Laatst online: 15-07 09:34

PrinsEdje80

Holographic, not grated...

Hij doet geen recursie, zoals jij bedoeld. (Ik ga uit van http://www.php.net/manual/en/function.readdir.php) Daar hebben ze het over alle bestanden in de directory die jij aangeeft.

Used to be Down Under... Foto gallery


Acties:
  • 0 Henk 'm!

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 29-05 22:54
ik had het over dit stukje:

List all files in a directory tree under Win32:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function list_dir($dirname) 
{ 
if($dirname[strlen($dirname)-1]!='\\') 
  $dirname.='\\'; 
static $result_array=array();   
$handle=opendir($dirname); 
while ($file = readdir($handle)) 
{ 
  if($file=='.'||$file=='..') 
    continue; 
  if(is_dir($dirname.$file)) 
    list_dir($dirname.$file.'\\'); 
  else 
    $result_array[]=$dirname.$file; 
} 
closedir($handle); 
return $result_array;
}


maar ik realiseer me ineens dat de array static is en het heel goed mogelijk is dat ik niet weet dat een static var ook na een recursive call beschikbaar is in die aanroep.

[ Voor 6% gewijzigd door Michali op 27-01-2003 15:01 ]

Noushka's Magnificent Dream | Unity


Acties:
  • 0 Henk 'm!

  • wacco
  • Registratie: Augustus 2002
  • Laatst online: 21-03-2023

wacco

cli, hlt.

PHP:
1
2
3
4
5
6
7
8
  if ($handle = opendir($map)) {
    echo "dir handle: $handle\n";
    echo "files:\n";
    while (false !== ($file = readdir($handle))) {
      echo "$file\n";
    }
    closedir($handle);
  }


Nou weet ik niet meer precies hoe het in elkaar stak, maar dit vond ik nog tussen mijn brokken code. Volgens mij heb ik em zelfs nog uit het commentaar van php.net/readdir geplukt, maar dat weet ik niet meer zeker.

Wat je hierbij nog kan doen is checken of het een file is, zo ja, echo em, zo nee, is het een map en dan kan je dit stukje code bijvoorbeeld door er een functie van te maken nog eens aanroepen met $map naar deze map wijzend (en voor de uitlijning laat je em er bijvoorbeeld ff een paar spaties extra voor zetten, dat valt wel te regelen met een extra var)

Uit ervaring kan ik wel zeggen dat al deze readdir functies nogal traag gedragen, ik kreeg meestal een time out na 30 seconden, en heb em toen maar op oneindig gezet om het toch uit te kunnen voeren (php.ini)

edit:

ik heb m'n dag weer eens niet en moet sneller typen :)

[ Voor 6% gewijzigd door wacco op 27-01-2003 15:05 ]

Spolap: Interactive webcomic


Acties:
  • 0 Henk 'm!

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 29-05 22:54
tijd is geen probleem. Het gaat om een mod functie op een site om plaatjes te beheren etc. Ik wil ze (nog) niet in een database zetten dus wil ik het zo ff. Bedankt iig.

Noushka's Magnificent Dream | Unity


Acties:
  • 0 Henk 'm!

  • Mickman
  • Registratie: Juni 2001
  • Laatst online: 27-08 11:32
[message=16884169,noline]wacco schreef op 27 januari 2003 @ 15:04
Uit ervaring kan ik wel zeggen dat al deze readdir functies nogal traag gedragen, ik kreeg meestal een time out na 30 seconden, en heb em toen maar op oneindig gezet om het toch uit te kunnen voeren (php.ini)
Dan zit er bij jou webserver waarschijnlijk iets niet goed. Heb zelfs op P75 snelle resultaten.

Acties:
  • 0 Henk 'm!

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 15-09 18:24

dusty

Celebrate Life!

Wederom te vinden in de Manual, wederom is de link al gegeven.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR

Pagina: 1

Dit topic is gesloten.