Liste de dossier en ordre avec readdir
Résolu
Xella60
Messages postés
65
Date d'inscription
Statut
Membre
Dernière intervention
-
Defouille Messages postés 388 Date d'inscription Statut Membre Dernière intervention -
Defouille Messages postés 388 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Une page d'intranet sur lequel je travail affiche les sauvegardes de la base de donnée, je voudrais que les sauvegardes s'affichent de la plus récente à la plus ancienne.
Or, les dossiers s'affichent dans n'importe quel ordre...
Les sauvegardes s'enregistrent sous cette forme icsmDb_07-01-2010_15h16m18s.sql
Voici le code:
<?php
include('../init.php');
echo "<h1>Gestions des sauvegardes</h1>";
echo "<div id='contenu'>";
echo "<input type='button' value='Sauvegarder la base' onClick=goDump(); style='float:right;margin:7px;'/>";
echo "<div class='caseEntete' style='margin-top:5px;padding-bottom:15px;'>Liste des sauvegardes effectuées</div>";
$dir = opendir("dump/");
$cptColor=0;
while ($file = readdir($dir)) {
if ($file!=".." && $file!="."){
$f=explode("_",$file);
$h=explode(".",$f[2]);
$cptColor++;
echo "<div style='float:right;margin:5px;'>";
echo "<input type='button' value='Restaurer' onClick=goRestaure('sauvegardes/dump/$file'); />";
echo "<input type='button' value='X' onClick=goDelSauv('sauvegardes/dump/$file'); />";
echo "</div>";
echo "<div class='case".$cptColor."Spe' style='padding-bottom:10px;'>";
echo "<strong>$f[1] à $h[0]</strong><br/>";
echo ">> <a href='sauvegardes/dump/$file' target='_blank'>$file</a>";
echo "</div>";
if($cptColor>=2){
$cptColor=0;
}
}
}
echo "</div>";
?>
Une page d'intranet sur lequel je travail affiche les sauvegardes de la base de donnée, je voudrais que les sauvegardes s'affichent de la plus récente à la plus ancienne.
Or, les dossiers s'affichent dans n'importe quel ordre...
Les sauvegardes s'enregistrent sous cette forme icsmDb_07-01-2010_15h16m18s.sql
Voici le code:
<?php
include('../init.php');
echo "<h1>Gestions des sauvegardes</h1>";
echo "<div id='contenu'>";
echo "<input type='button' value='Sauvegarder la base' onClick=goDump(); style='float:right;margin:7px;'/>";
echo "<div class='caseEntete' style='margin-top:5px;padding-bottom:15px;'>Liste des sauvegardes effectuées</div>";
$dir = opendir("dump/");
$cptColor=0;
while ($file = readdir($dir)) {
if ($file!=".." && $file!="."){
$f=explode("_",$file);
$h=explode(".",$f[2]);
$cptColor++;
echo "<div style='float:right;margin:5px;'>";
echo "<input type='button' value='Restaurer' onClick=goRestaure('sauvegardes/dump/$file'); />";
echo "<input type='button' value='X' onClick=goDelSauv('sauvegardes/dump/$file'); />";
echo "</div>";
echo "<div class='case".$cptColor."Spe' style='padding-bottom:10px;'>";
echo "<strong>$f[1] à $h[0]</strong><br/>";
echo ">> <a href='sauvegardes/dump/$file' target='_blank'>$file</a>";
echo "</div>";
if($cptColor>=2){
$cptColor=0;
}
}
}
echo "</div>";
?>
A voir également:
- Liste de dossier en ordre avec readdir
- Liste déroulante excel - Guide
- Dossier appdata - Guide
- Excel trier par ordre croissant chiffre - Guide
- Liste déroulante en cascade - Guide
- Impossible de supprimer un dossier - Guide
3 réponses
Bonjour,
voila une solution, peut être pas la plus élégante ou la plus rapide mais je pense que ça peut te débloquer :
voila une solution, peut être pas la plus élégante ou la plus rapide mais je pense que ça peut te débloquer :
<?php include('../init.php'); echo "<h1>Gestions des sauvegardes</h1>"; echo "<div id='contenu'>"; echo "<input type='button' value='Sauvegarder la base' onClick=goDump(); style='float:right;margin:7px;'/>"; echo "<div class='caseEntete' style='margin-top:5px;padding-bottom:15px;'>Liste des sauvegardes effectuées</div>"; $dir = opendir("dump/"); $cptColor=0; // test ex : icsmDb_07-01-2010_15h16m18s.sql // $t[] = "icsmDb_07-01-2010_16h16m18s.sql"; // $t[] = "icsmDb_06-01-2009_13h16m18s.sql"; // $t[] = "icsmDb_05-01-2010_15h16m18s.sql"; // $t[] = "icsmDb_05-01-2010_15h16m18s.sql"; $fichiers = array() ; $temps_svg = array(); // test : foreach($t as $file) while ($file = readdir($dir)) { if ($file!=".." && $file!=".") { $f=explode("_",$file); $h=explode(".",$f[2]); $d=explode("-",$f[1]); $date = $d[2]."-".$d[1]."-".$d[0] ; $heure = str_replace("h", ":", $h[0]); $heure = str_replace("m", ":", $heure); // On met dans un tableau le nom des fichiers avec en clé le timestamp $fichiers[strtotime($date." ".$heure)][] = $file; } } // On classe le tableau par clé (et donc par timestamp) uksort($fichiers, "strnatcasecmp"); // On affiche le tableau foreach($fichiers as $date => $fics) { // Boucle supplémentaire au cas ou plusieurs sauvegardes aient la meme date foreach($fics as $file) { $cptColor++; echo "<div style='float:right;margin:5px;'>"; echo "<input type='button' value='Restaurer' onClick=goRestaure('sauvegardes/dump/$file'); />"; echo "<input type='button' value='X' onClick=goDelSauv('sauvegardes/dump/$file'); />"; echo "</div>"; echo "<div class='case".$cptColor."Spe' style='padding-bottom:10px;'>"; echo "<strong>".date("Y-m-d h:m", $date)."</strong><br/>"; echo ">> <a href='sauvegardes/dump/$file' target='_blank'>$file</a>"; echo "</div>"; if($cptColor>=2) $cptColor=0; } } echo "</div>"; ?>