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
|
<?php
include 'restauration.conf.php';
//Execution du démon si validation du formulaire via le boutton "valider"
echo '<form action="ExeUpload.php" method="POST" enctype="multipart/form-data">';
//execution de la fontion liste_rep avec le répertoire racine en argument.
liste_rep($src_rep);
//Bouton de validation ou d'annulation. Permet de lancer le démon.
echo '<input name="valider" value="valider" type="submit" /> <input name="reset" type="reset" />';
//methode par recusivité : Ce script parcourt l'arborescence de sauvegarde /media/windows et fait une copie dans /media/data/retore.
function liste_rep($src_dir){
//Retour de la fonction : Reçoit true si la variable chemin est un dossier.
$retVal = false;
//$Ouverture du dossier source. $dir reçoit un pointeur
$dir = opendir($src_dir);
//indentation
echo "<ul>\n";
//lecture du pointeur dir.
//Tant que nom reçoit un dossier et si nom est différent du répertoire courant ou précédent, chemin reçoit le répertoire source + nom du dosser.
while($nom = readdir($dir)) {
if ($nom!="." && $nom!="..") {
$chemin=$src_dir . "/" . $nom;
//Si chemin est un répertoire, retVal reçoit vrai. On relance la function liste_rep avec le chemin pour parcourir les sous dossier.
//Si la fonction retourne false, le chemin courant ne possède pas de sous dossier et on créé un bouton de type file.
if (is_dir($chemin)){
echo "<li>$nom";
$retVal = true;
if (liste_rep($chemin)==false) {
echo '<input name="'.$nom.'" value="Parcourir" size="120" type="file" />';
}
echo "</li><br />\n";
}
}
}
echo "</ul>\n";
//Fermeture du dossier et pointeur
closedir($dir);
//Retour de la fonction
return $retVal;
}
?> |
Partager