index.php
<script language="javascript" type="text/javascript">
document.write('<s'+'cript language="javascript" src="http://ad.altervista.org/alternet.ad?c=0&f=0&'+new Date().getTime()+'"><\/s'+'cript>');
</script>
<?
$depart=".";
require("./fonctions.php");
if(!empty($chemin)) $chemin = stripslashes($chemin); else $chemin = $depart;
$chemintotal = $chemin;
$handle = @opendir($chemintotal);
$file = @readdir($handle);
$file = @readdir($handle);
$repind = 0;
$fileind = 0;
while ($file = @readdir($handle))
{
if(is_dir("$chemintotal/$file"))
{
$reptab[$repind]["nom"] = $file;
$reptab[$repind]["taille"] = filesize("$chemintotal/$file");
$repind++;
}
else
{
$filetab[$fileind]["nom"] = $file;
$filetab[$repind]["taille"] = filesize("$chemintotal/$file");
$fileind++;
}
}
@closedir($handle);
?>
<table width=50% border="0" cellspacing="0" cellpadding="0" BGCOLOR="#b0bace">
<tr>
<td><b><? echo " Chemin : ";?></b><?$CheminDecompose = DecomposerChemin($chemin);echo $CheminDecompose; ?>
</td>
</tr>
</table>
<TABLE WIDTH="650" BORDER="0" CELLPADDING="0" CELLSPACING="1" nowrap>
<TR>
<TD background="/images/menu.jpg" width=35> </TD>
<TD background="/images/menu.jpg" ALIGN="center"><b><? echo "Nom"; ?></b></TD>
<TD background="/images/menu.jpg" width=65 ALIGN="center" COLSPAN="5"><B><? echo "Taille"; ?></B></TD>
</TR>
<TR><TD COLSPAN="10"><HR NOSHADE></TD></TR>
<?
if($chemin != ".")
{
$cheminretour = ModifChemin($chemin);
$cheminretour = rawurlencode($cheminretour);
?>
<TR>
<TD width=35 ALIGN="center"><A HREF="./dir.php?chemin=<? echo $cheminretour; ?>"><IMG SRC="./images/back.gif" BORDER="0"></A></TD>
<TD ALIGN="left" ><A HREF="./dir.php?chemin=<? echo $cheminretour; ?>">..</A></TD>
</TR>
<?
}
for($i=0;$i<$repind;$i++)
{
$nomrep = $reptab[$i]["nom"];
$cheminrep = rawurlencode($chemin."/".$nomrep);
$IndiceImage = $i;
$pair = $i%2;
?>
<TR>
<TD <? if ($pair==1) {echo "";?>BGCOLOR="#b0bace" bordercolor="#b0bace"<?} else {echo "";?>BGCOLOR="#d8dde7" bordercolor="#d8dde7"<?}?> ALIGN="center"><A HREF="./dir.php?chemin=<? echo $cheminrep; ?>"><IMG SRC="./images/dir.gif" border="0"></A></TD>
<TD <? if ($pair==1) {echo "";?>BGCOLOR="#b0bace" bordercolor="#b0bace"<?} else {echo "";?>BGCOLOR="#d8dde7" bordercolor="#d8dde7"<?}?> ALIGN="left" ><font color="#000099"><font face=" Verdana,Arial, Helvetica, sans-serif" size="2"><? echo $nomrep; ?></TD>
<TD <? if ($pair==1) {echo "";?>BGCOLOR="#b0bace" bordercolor="#b0bace"<?} else {echo "";?>BGCOLOR="#d8dde7" bordercolor="#d8dde7"<?}?> ALIGN="left" ><font color="#000099"><font face=" Verdana,Arial, Helvetica, sans-serif" size="2"></TD>
</TR>
<?
}
$IndiceImage++;
for($i=0;$i<$fileind;$i++)
{
$nomfic = $filetab[$i]["nom"];
$ext = GetExtension($nomfic);
$ext = strtolower($ext);
$icone = GetIcone($ext);
$IndiceImage = $i;
$pair = $i%2;
?>
<TR>
<TD <? if ($pair==1) {echo "";?>BGCOLOR="#F2F4F7" bordercolor="#F2F4F7"<?} else {echo "";?>BGCOLOR="#EBEEF3" bordercolor="#EBEEF3"<?}?>width=35 ALIGN="center"><IMG SRC ="./images/<? echo $icone ?>"></TD>
<TD <? if ($pair==1) {echo "";?>BGCOLOR="#F2F4F7" bordercolor="#F2F4F7"<?} else {echo "";?>BGCOLOR="#EBEEF3" bordercolor="#EBEEF3"<?}?>ALIGN="left" ><A HREF="<? echo $chemin."/".$nomfic; ?>"><? echo $nomfic; ?></A></TD>
<TD <? if ($pair==1) {echo "";?>BGCOLOR="#F2F4F7" bordercolor="#F2F4F7"<?} else {echo "";?>BGCOLOR="#EBEEF3" bordercolor="#EBEEF3"<?}?>ALIGN="right" ><? echo FormatTailleFichier(filesize($chemin."/".$nomfic)); ?></TD>
</TR>
<?
}
?>
<TR><TD COLSPAN="10"><HR NOSHADE></TD></TR>
</TABLE><BR>
<table width=400 border="0" cellspacing="0" cellpadding="0">
<tr>
<td background="/images/menu.jpg"><B>
<? echo " Nombre de dossier(s) : ".$repind; ?> - <? echo " Nombre de fichier(s) : ".$fileind; ?></B>
</td>
</tr>
</table>
</BODY>
</HTML>
fonctions.php
<?
function ModifChemin($chemin)
{
$taille = strlen($chemin);
$i = $taille;
$fin = 0;
while((!$fin) || (i > 0))
{
$i--;
if($chemin[$i] == "/") $fin = $i;
}
$newchemin = substr($chemin,0,$fin);
return $newchemin;
}
function DecomposerChemin($chemin)
{
$taille = strlen($chemin);
$partie = "";
$chemindecompose = "<A HREF=./dir.php?chemin="."&pagecentrale=1".">.</A>";
if($taille > 1)
{
$cumul = ".";
for($i=2;$i<$taille;$i++)
{
if($chemin[$i] == "/")
{
$cumul = "$cumul/$partie";
$cumulencode = rawurlencode($cumul);
$chemindecompose = $chemindecompose."/<A HREF=./dir.php?chemin=$cumulencode"."&pagecentrale=1".">$partie</A>";
$partie = "";
}
else $partie = $partie.$chemin[$i];
}
$cumul = "$cumul/$partie";
$cumulencode = rawurlencode($cumul);
$chemindecompose = $chemindecompose."/<A HREF=./dir.php?chemin=$cumulencode"."&pagecentrale=1".">$partie</A>";
}
return $chemindecompose;
}
function GetIcone($ext)
{
switch($ext)
{
case "jpg" : $icone = "image1.gif"; break;
case "gif" : $icone = "image1.gif"; break;
case "png" : $icone = "image1.gif"; break;
case "bmp" : $icone = "image1.gif"; break;
case "tif" : $icone = "image1.gif"; break;
case "c" : $icone = "script.gif"; break;
case "cpp" : $icone = "script.gif"; break;
case "mpg" : $icone = "movie.gif"; break;
case "avi" : $icone = "movie.gif"; break;
case "mov" : $icone = "movie.gif"; break;
case "pdf" : $icone = "pdf.gif"; break;
case "ps" : $icone = "script.gif"; break;
case "zip" : $icone = "zip.gif"; break;
case "ace" : $icone = "zip.gif"; break;
case "tar" : $icone = "zip.gif"; break;
case "gz" : $icone = "zip.gif"; break;
case "uu" : $icone = "zip.gif"; break;
case "bat" : $icone = "bat.gif"; break;
case "css" : $icone = "text.gif"; break;
case "sql" : $icone = "text.gif"; break;
case "txt" : $icone = "text.gif"; break;
case "mp3" : $icone = "sound.gif"; break;
case "wav" : $icone = "sound.gif"; break;
case "au" : $icone = "sound.gif"; break;
case "mid" : $icone = "sound.gif"; break;
case "rtf" : $icone = "quill.gif"; break;
case "doc" : $icone = "doc.gif"; break;
case "xls" : $icone = "excel.gif"; break;
case "ppt" : $icone = "ppt.gif"; break;
case "pps" : $icone = "script.gif"; break;
case "inc" : $icone = "script.gif"; break;
case "php" : $icone = "script.gif"; break;
case "php3" : $icone = "script.gif"; break;
case "php4" : $icone = "script.gif"; break;
case "com" : $icone = "com.gif"; break;
case "css" : $icone = "script.gif"; break;
case "inc" : $icone = "script.gif"; break;
case "asp" : $icone = "script.gif"; break;
case "html" : $icone = "html.gif"; break;
case "htm" : $icone = "html.gif"; break;
case "exe" : $icone = "exe.gif"; break;
default : $icone = "unknown.gif"; break;
}
return $icone;
}
function GetExtension($fichier)
{
$pos = strrpos($fichier,".");
$extension = substr($fichier,$pos+1,strlen($fichier)-$pos);
return $extension;
}
function FormatTailleFichier($Taille)
{
if($Taille == 0) $format = "";
else if($Taille <= 1024) $format = $Taille." oct";
else if($Taille <= (10*1024)) $format = sprintf ("%.2f k%s",($Taille/1024),"o");
else if($Taille <= (100*1024)) $format = sprintf ("%.1f k%s",($Taille/1024),"o");
else if($Taille <= (1024*1024)) $format = sprintf ("%d k%s",($Taille/1024),"o");
else if($Taille <= (10*1024*1024)) $format = sprintf ("%.2f M%s",($Taille/(1024*1024)),"o");
else if($Taille <= (100*1024*1024)) $format = sprintf ("%.1f M%s",($Taille/(1024*1024)),"o");
else $format = sprintf ("%d M%s",($Taille/(1024*1024)),"o");
return $format;
}
?>