// read_dir.php // by Andrea Bergamasco [andrea@ealore.com] per Euro - Eticoweb //================================================================= // 25/09/2001 [CREATED] // 25/09/2001 [MODIFIED] Aggiunta la possibilità di configurare il target dei link // 25/09/2001 [MODIFIED] Aggiunta l'esclusione automatica delle estensioni desiderate // 25/09/2001 [MODIFIED] Aggiunta la visualizzazione della dimensione del file // 25/09/2001 [MODIFIED] Corretta la dimensione dei file // 26/09/2001 [MODIFIED] Aggiunto pulsante di cancellazione, risolti alcuni problemi con le directory // (adesso i link funzionano dovunque si metta il file) // 26/09/2001 [MODIFIED] Aggiunto timer //===== CONFIGURAZIONE ===== // Directory da leggere. "./" indica la directory corrente. [default: "./"] $directory = "./"; // Creare un link alla directory superiore? [default: 0] $linka_dir_superiore = 0; // Creare i link alle sottodirectory? [default: 1] $linka_sottodirectory = 0; // Creare i link ai file? [default: 1] // Può essere utile per mostrare tutte le sottodirectory settandolo a 0 $linka_files = 1; // Target dei link [default: ""] $target = ""; // Nascondi estensioni, aggiungere tutte le estensioni che si vogliono escludere $arrNascondi = array(".htm", ".html", ".php"); // Visualizza il pulsante per cancellare i file $pulsDelete = 0; $pulsDeleteCaption = "Elimina"; //===== Funzioncina per le dimensioni in byte ====== function bytes($file_size) { if ($file_size >= 1073741824) { $file_size = round($file_size / 1073741824 * 100) / 100 . " GB"; } elseif ($file_size >= 1048576) { $file_size = round($file_size / 1048576 * 100) / 100 . " MB"; } elseif ($file_size >= 1024) { $file_size = round($file_size / 1024 * 100) / 100 . " kB"; } else { $file_size = $file_size . "B"; } // else return $file_size; } //===== Parte di codice sulla cancellazione del file ===== if($REQUEST_METHOD == "POST" && $FN) { if(file_exists($directory . $FN)) { echo ""; } } //===== qui sotto inizia il codice vero e proprio per la lettura della directory // apriamo la directory $ignore = 0; //===== TIMER START ===== $timeparts = explode(" ",microtime()); $starttime = $timeparts[1].substr($timeparts[0],1); //----- $dp = opendir($directory); while (($file = readdir($dp))!==false) { if($file == ".") { // Non fa nulla :))) } elseif($file == ".." && !$linka_dir_superiore) { // Non fa nulla neanche qui } else { // Separiamo file e directory if(is_dir($file)) { $arrayDirs[] = $file; } else { if($arrNascondi) { reset($arrNascondi); $ignore = 0; while(list($key, $hide) = each($arrNascondi)) { if(ereg ("$hide$", $file)) { //echo "\r\n_\t$hide$ --> $file\r\n"; $ignore += 1; } // if else { //echo "\r\nX\t$hide$ --> $file\r\n"; } } // while } // if if(!$ignore) { $arrayFiles[] = $file; } } } } // chiudiamo la directory @closedir($dp); echo "
$val/ | "; echo ""; // Per le dir. non c'è dimensione da mostrare echo " | |
$val | "; echo "" . bytes(filesize($directory . $val)) . " | "; if($pulsDelete) { echo ""; } echo " |