1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
|
<?php
// repertoires/extensions à ignorer dans les dossiers
$foldersListIgnore = array ('.','..');
$extListAccept = array ('php','php3','php4','htm','html', 'pdf', 'png');
// recuperation des dossiers
$handle=opendir('.');
$tableau='';
$nbr_files=0;
// boucle sur les éléments du dossier
while ($file = readdir($handle))
{
// teste s'il s'agit d'un élément autorisé
if (!in_array($file,$foldersListIgnore)) {
// teste s'il s'agit d'un dossier
if (is_dir($file)) {
$subfolder=opendir($file);
$ext=substr($subfolder,-3);
// teste s'il y a des sous-dossiers et combien de sous-items il y a
while ($subfolderContents = readdir($subfolder))
{
// teste les fichiers du sous-dossiers et leurs extensions
if (!in_array($subfolderContents,$foldersListIgnore)) {
$listing[$subfolder]=$nbr_files;
}
$nbr_files++;
}
$nbr_files =($nbr_files-2);
// sous-résultat
$folderContents .= '<li>'.$k.'<a href="'.$file.'/">'.$file.'</a> ('.$nbr_files.')</li>';
$nbr_files = 0;
}
// teste s'il s'agit d'un fichier
else if (is_file($file)) {
// extrait l'extension du fichier
$ext = substr($file,-4);
if (stristr($ext, '.') === FALSE) {
$ext = $ext;
}
else {
$ext = substr($ext,-3);
}
// vérifie si l'extension est autorisée dans le listing
if (in_array($ext,$extListAccept)) {
$file_name = $file;
// sous-résultat
$folderContents .= '<li>'.$k.'<a href="'.$file_name.'">'.$file_name.'</a></li>';
}
}
// teste s'il s'agit d'un fichier
else {
echo 'format de fichier non reconnu';
}
}
}
// ferme le parcours du dossier
closedir($handle);
// teste si la liste des dossiers n'est pas nulle
if (!isset($folderContents))
$folderContents = 'le dossier est vide';
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html lang="en" xml:lang="en">
<head>
<title><?php echo $_SERVER['PHP_SELF'];?></title>
<meta http-equiv="Content-Type" content="txt/html; charset=utf-8" />
</head>
<body>
<h2><?php echo $_SERVER['PHP_SELF'];?></h2>
<ul>
<?php echo $folderContents;?>
</ul>
</body>
</html> |
Partager