- <?php
- // repertoires/extensions à ignorer dans les dossiers
- $foldersListIgnore = array ('.','..');
- $extListAccept = array ('php','php3','php4','htm','html');
-
- // 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 leur extension
- 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';
- ?>
- <?xml version="1.0" encoding="iso-8859-1"?>
- <!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>
<?php
// repertoires/extensions à ignorer dans les dossiers
$foldersListIgnore = array ('.','..');
$extListAccept = array ('php','php3','php4','htm','html');
// 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 leur extension
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';
?>
<?xml version="1.0" encoding="iso-8859-1"?>
<!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>