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 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
| <?php
$dir_nom = '.'; // dossier listé (pour lister le répertoir courant : $dir_nom = '.' --> ('point')
$dir = scandir($dir_nom) or die('Erreur de listage : le répertoire n\'existe pas'); // on ouvre le contenu du dossier courant
$fichier= array(); // on déclare le tableau contenant le nom des fichiers
$dossier= array(); // on déclare le tableau contenant le nom des dossiers
$nb_fichier = 0;
foreach ($dir as $element) {
if($element != '.' && $element != '..') {
$stat = stat($dir_nom . '/' . $element);
$date = $stat['mtime'];
if (!is_dir($dir_nom.'/'.$element)) {
$extension = pathinfo($element, PATHINFO_EXTENSION);
if (($extension == 'mp3')||($extension == 'MP3')) {
$fichier[$element] = $date; }
}
else {
$dossier[ $element] = $date;
}
}
}
if(!empty($dossier)) {
arsort($dossier); // pour le tri croissant, rsort() pour le tri décroissant
foreach($dossier as $lien=>$date){
echo "<li><a href=\"$dir_nom/$lien/index.php\">$lien</a></li>\n";
}
}
if(!empty($fichier)){
arsort($fichier);// pour le tri croissant, rsort() pour le tri décroissant
// on compte le nombre de pages nécessaires
$nfichier = 1;
$nombre_pages = ceil(count($fichier) / $nfichier);
$page_actuelle = isset($_GET['page']) ? intval($_GET['page']) : 1;
// on decoupe le tableau contenant les fichiers au niveau de la page qu'on veut
$fichier = array_slice($fichier, ($page_actuelle - 1) * $nfichier, $nfichier);
foreach($fichier as $lien=>$date) {
// On enlève l'extension du fichier et les X première caractère et on remplace certains caractères avant l'affichage
$vowels = array("-","_","%","@");
$onvowels = array(" ","-","'","'");
$sanstiret = str_replace($vowels, $onvowels, "$lien");
$simplenom = substr($sanstiret, 0);
$pos_point = strpos($simplenom, '.');
$nomdufichier_sans_extension = substr($simplenom, 0, $pos_point);
// FIN DE LA COUPURE DE L'EXTENSION ECT
$nb_fichier++; // On incrémente le compteur de 1
echo "<li><a href=\"$lien\">$nomdufichier_sans_extension</a></li>\n";
}
// Gestions des pages
if( $page_actuelle <= 1 && $nombre_pages == 1 )
echo '';
else
echo'Liste des Pages:\n';
// on met un lien pour chaque page, le lien donne le numero de page a afficher
for ($i = 1; $i <= $nombre_pages; $i ++) {
if( $page_actuelle <= 1 && $nombre_pages == 1 )
echo ' ';
else
echo'<a href="?page=' . $i . '" class="page">' . $i . '</a>';
}
echo"</center>";
$precedent = $page_actuelle-1;
$suite = $page_actuelle+1;
echo'<br/>';
if( $page_actuelle <= 1 && $nombre_pages != 1 ) // Si la page actuel n'est pas supérieur à 1
echo '<p align="right"><a href="?page=' . $suite . '">Suivant</a></p>';
else if( $page_actuelle == $nombre_pages && $nombre_pages != 1 ) // Si on n'est pas à la dernière page
echo '<p align="left"><a href="?page=' . $precedent . '">Précedent</a></p>';
else if( $page_actuelle <= 1 && $nombre_pages == 1 ) // Si c'est une seule page
echo '';
else // Si on est ni au premier ni au dernier
echo '
<center>
<table border="0" width="100%">
<tr>
<td width="30%"><a href="?page=' . $precedent . '">Précedent</a></td>
<td width="40%"> </td>
<td align="right" width="30%"><a href="?page=' . $suite . '">Suivant</a></td>
</tr>
</table>
</center>';
}
?> |
Partager