.: HosiriS :.

Informatica e non solo

Vediamo una lista di file in una directory

Posted by hosiris su agosto 15, 2011

Come progetto personale mi è servito di creare una piccola interfaccia che mi mostrasse il contenuto di una directory X non prestabilita. Giocando un po’ con PHP ho raggiunto lo scopo preposto:


// show.php
<html>
  <head></head>
  <body>
    <form method="post" action="show.php">
      <select name="mostra">
        <option selected>- - -</option>
        <option value="dir1">DIR1</option>
        <option value="dir2">DIR2</option>
        <option value="dir3">DIR3</option>
        <option value="dir4">DIR4</option>
      </select>
      <input type="submit" name="value" value="MOSTRA">
    </form>
<?php
if(isset($_REQUEST['value'])){
  $dir = opendir($_REQUEST['mostra']);
  while($entryName = readdir($dir)){
    $dirArray[] = $entryName;
  }
  closedir($dir);
  sort($dirArray);
  foreach($dirArray as $one){
    if($one == '.' || $one == '..')
      continue;
    echo $one.'<br>';
  }
}
?>
  </body>
</html>

Il codice dovrebbe essere di facile lettura: in apertura viene mostrato solo un form tramite cui possiamo scegliere la cartella da far visualizzare; cliccando su MOSTRA, la pagina viene ricaricata mostrando tutti i file.
La possibilità di leggere il file system da parte di PHP risiede nei comandi opendir() e readdir(), naturalmente su server linux dovete ricordare di dare i permessi di lettura e di accesso alle cartelle, oppure di cambiare l’owner in www-data!
Nell’esempio viene mostrato solo il nome del file, ma è possibile mostrare qualsiasi informazione come, ad esempio, la dimensione del file, o la tipologia di file.
Spero sia stato utile, alla prossima.

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

 
%d blogger cliccano Mi Piace per questo: