disign | PHP: file manager | a digital sign for a best design!
A digital sign for a best design

Articolo stampato da http://disign.improntedigitali.it/php-file-manager-313-2-1.html

© Luca Frassineti

Programmazione 3.295 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");

Invia una domanda o un commento sull'articolo

I campi obbligatori sono segnalati *

*

*



 


Questo sito è totalmente privo di pubblicità, se volete sostenere questa inziativa, potete scegliere di fare una piccola donazione libera:


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