Scansione directory ordinata

Scansiono una directory, e ci riesco.

Vorrei mettere tutto in un array per poi ordinare alfabeticamente.

Ho provato così ma quando faccio il "° foreach non trovo niente nell'array:

$dh= new DirectoryIterator("content");//classe

$files= array();
$i= 0;
    
foreach($dh as $file)
{
    if (preg_match("/([.]php|[.]html)$/", $file)>0)
    {
    
    $files[$i]=$file;
    echo $i;
    echo $files[$i];
   echo "<br>";
    $i++;    
    }//con l'espressione regolare, carica i nomi dei file nell'array CASE SENSITIVE

}


foreach($files as $chiave)
{
     echo $chiave;
   echo "<br>";   
     
}

Non mi da errori, solo l'array è vuoto nel secondo ciclo non mi stampa niente

inviato 9 anni fa
ilbonzo
X 0 X

DirectoryIterator restituisce degli oggetti, non i nomi dei file...

<?php
$dh= new DirectoryIterator("D:\PHPnews.it\www");//classe
$files= array();

foreach($dh as $file)
{
   $nomefile = $file->getFilename();
   if (preg_match("/([.]php|[.]html)$/", $nomefile)>0)
   {
      $files[] = $nomefile ;
   }
}


foreach($files as $chiave)
{
   echo $chiave , "<br>";
}
?>

 :bye:

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

Ok...grazie mille

Hai dei consigli su come ordinare alfabeticamente questo elenco dei file?

risposto 9 anni fa
ilbonzo
X 0 X
sort($files);

 :bye:

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

Ok, ma poi con che ciclo posso stampare il suo contenuto?

Scusa la domanda da principiante...

risposto 9 anni fa
ilbonzo
X 0 X
Ok, ma poi con che ciclo posso stampare il suo contenuto?

sempre con un ciclo foreach

 :bye:

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

Scusa, ma non ho lo stesso problema di prima?

come faccio dagli oggetti a fargli stampare i nomi dei file?

risposto 9 anni fa
ilbonzo
X 0 X

Nel codice che ti ho riportato ho memorizzato nell'array il nome del file e non l'oggetto:

$nomefile = $file->getFilename();

...

$files[] = $nomefile;

 :bye:

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

Cacchio, avevo vito male...

Che figura....

Grazie mille

risposto 9 anni fa
ilbonzo
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda