Ciao,
ecco il codice sorgente richiesto:
Codice PHP:
<?php
/* PHP's Apache Directory Simulator è uno script by Michelangelo Scotto (http://miki92.altervista.org/ - http://messenworld.altervista.org/
- http://micscotto.altervista.org/), questo script permette di simulare le Directory Index ove è stato impedito per una modifica al file
httpd.config di Apache. Questo script è stato pensato ed adattato per la community di AlterVista.org: progetto non ufficiale di AlterVista.
Il progetto è pubblicato sotto una Licenza Creative Commons (http://creativecommons.org/licenses/by-nc-nd/3.0/deed.it), per aggiornamenti,
release e news sul seguente script visitare http://miki92.altervista.org/php-apache-dir-simulator/ | Copyright © 2009 Michelangelo Scotto. */
// Inizio Configurazione Script -->
// $serversignature = $_SERVER['SERVER_SOFTWARE']." ".phpversion()." Server at ".$_SERVER['SERVER_NAME']." Port ".$_SERVER['SERVER_PORT'];
$serversignature = "Apache/2.2.8 (Win32) PHP/5.2.6 Server at localhost:8080";
$qsm = "dircwd"; // Query String, quello che sarà visibile nell'URL per esplorare le cartelle, default: dircwd => /?dircwd=directory_da_esporare/
$homeserver = str_replace("\\","/",getcwd()."/"); // Path Assoluta di dove si trova questo script
$servericons = "/scuola/icons/"; // Path di dove sono collocate le icone da utilizzare
$exticons = "gif"; // Estensione delle icone
$nodirfil = array(basename($_SERVER['PHP_SELF']),"Thumbs.db","icons"); // Array con le directory / files da non indicizzare
// <-- Fine Configurazione Script
$cwd = strtr(strip_tags(str_replace("\\","/",$_GET[$qsm])),array("../"=>"","./"=>"",$homeserver=>""," "=>""));
$titolo = "PADS: PHP's Apache Directory Simulator";
$parent = false;
if(empty($cwd)){ $cmd = "/*"; $titolo = "Index Of /"; }else{ $cmd = $cwd."/*"; $titolo = "Index Of /".$cwd; $parent = true; }
//echo "<fieldset style=\"width:39%\"><legend>DEBUG</legend>CWD: ".$cwd."<br />CMD: ".$cmd."<br />HOMESERV: ".$homeserver."<br />HOME.CWD: ".$homeserver.$cwd."<br />GET: ".$_GET[$qsm]."</fieldset>";
if(!file_exists($homeserver.$cwd)){ exit("Attenzione, directory non trovata!"); }
$expparent = @explode($cwd,$homeserver.$cwd);
$parentdirectory = "?".$qsm."=".$expparent[0];
$glob = glob($homeserver.ltrim($cmd,"/"));
if(!$glob){ exit("Si è verificato un errore durante la lettura delle directory."); }
function File2Icon($filename){ global $servericons, $exticons; $expic = explode(".",basename($filename)); $icona = $servericons.$expic[1].".".$exticons; if(file_exists($icona)){ return $icona;
}else{ return $servericons."generic.".$exticons; }}
function PADS(){ global $homeserver, $servericons, $qsm, $cmd, $glob, $cwd, $nodirfil;
foreach($glob as $filegen){
if(is_dir($filegen)){ $size = "-"; $icon = $servericons."dir.gif"; $alticon = "DIR"; $href = "?".$qsm."=".$filegen; }else{ clearstatcache(); $size = filesize($filegen); if($size < 1000000){
$size = ceil($size/1024). " KB"; }else{ $size = round(($size/1024)/1024,1)." MB"; } $icon = File2Icon($filegen); $alticon = "ICO"; $href = "download.php?file=".$cwd."/".basename($filegen); }
if(!in_array(basename($filegen),$nodirfil)){
echo '<tr><td valign="top"><img src="'.$icon.'" alt="['.$alticon.']" /></td><td><a href="'.$href.'">'.basename($filegen).'</a></td><td align="right">'.date("d-M-Y H:i",filemtime($filegen)).'</td>';
echo '<td align="right">'.$size.'</td></tr>';
}}} ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type" />
<title><?php echo $titolo; ?></title>
<style type="text/css">
a:link, a:visited{
color:#0000FF;
text-decoration:none;
}
a:hover{
color:#FF0000;
text-decoration:underline;
}
h1{
margin-bottom:0px;
margin-top:0px;
}
#serversignature{
font-family:Georgia, "Trebuchet MS", Arial, Helvetica, sans-serif;
font-size:10pt;
}
</style>
<!-- PHP's Apache Directory Simulator by Miki92 -->
</head>
<body>
<h1><?php echo $titolo; ?></h1>
<table><tr><th><img src="<?php echo $servericons; ?>blank.gif" alt="[ICO]" /></th><th>Nome File</th><th>Ultima modifica</th><th>Dimensione</th></tr><tr><th colspan="5">
<hr /></th></tr>
<?php if($parent){ ?><tr><td valign="top"><img src="<?php echo $servericons; ?>back.gif" alt="[DIR]" /></td>
<td><a href="<?php echo $parentdirectory; ?>">Torna Indietro</a></td><td> </td><td align="right"> - </td></tr>
<?php } PADS(); ?>
<tr><th colspan="5"><hr /></th></tr></table>
<span id="serversignature"><?php echo $serversignature; ?></span>
</body>
</html>
Prossimamente pubblico la versione 2 che ho da un bel po' archiviato