disign.it | PHP: file manager | a digital sign for a best design!
A digital sign for a best design
Programmazione 2.342 visualizzazioni

PHP: file manager

17/01/2012

Uno script minimale che permette di visualizzare il contenuto di una directory linkando ai file presenti, specificando il tipo di file e la dimensione, una utile base per realizzare script più complessi.

Ecco il codice, tutto commentato per maggior chiarezza:

 

         // apro la directory
         $miaDir = opendir(".");

         // leggo gli elementi
         while($nomeFile = readdir($miaDir)) {
           $dirArray[] = $nomeFile;
         }

         // funzione per ricavare l'estensione escludendo le directory
         function trovaExt ($filenome)
         {
             if (!is_dir($filenome)) {
           $filenome = strtolower($filenome) ;
           $path_parts = pathinfo($filenome);
           $exts = $path_parts['extension'];
             }
           else $exts = 'directory';
           return $exts;
         }

         // chiudo la directory
         closedir($miaDir);

         //  conto gli elementi presenti in array
         $indexConta   = count($dirArray);

         // ordino alafabeticamente gli elementi dell'array
         sort($dirArray);

         // stampo a video
         echo ("<h1>Contenuto directory</h1>");
         echo ("<table width='100%' cellspacing='10'>
                 <tr>
                   <td>Nome file</td>
                   <td>Type</td>
                   <td>Dimensione <span>(bytes)</span></td></tr>\n");

         // loop di attraversamento dell'array
         for($index=0; $index < $indexConta; $index++) {
               if (substr("$dirArray[$index]", 0, 1) != "."){ // non visualizzo i file nascosti
               echo ("<tr><td><a href='$dirArray[$index]'>$dirArray[$index]</a></td>");
               echo ("<td>");
               echo (trovaExt($dirArray[$index]));
               echo ("</td>");
               echo ("<td>");
               echo (filesize($dirArray[$index]));
               echo ("</td>");
               echo ("</tr>\n");
           }
         }
         echo ("</table>\n");

← Jquery: sostituire il comando click Wikipedia: Protesta contro le proposte di legge SOPA e PIPA →

Invia una domanda o un commento sull'articolo

I campi obbligatori sono segnalati *

*

*



 

© 2009 - 2017 Impronte digitali di Luca Frassineti. Tutti i diritti riservati.