Suppression Dossier et fichier avec date

treza88
Invité n'ayant pas de compte PHPfrance

21 janv. 2022, 19:18

Bonjour a tous,

En cherchant un code PHP qui permet de supprimer les fichiers et dossiers les plus ancien de quelques jours sur un serveur, que je n'ai pas trouvé.
J'ai donc utilisé deux code pour arriver a ce que je cherche a faire, mon code me semble correct, mais il ne fonctionne pas, et je ne sais pas si c'est mon code qui n'est pas bon ou ma tache cron qui et mal construite.

Pouvez vous me donner un avis sur le code ci dessous.
Merci d'avance
<?php
$Delai = 25;
function deleteTree($dir)
{
    foreach (glob($dir . "/*") as $element) {
        global $Delai;
        if (is_dir($element)) {
            deleteTree($element); // On rappel la fonction deleteTree           
            //rmdir($element); // Une fois le dossier courant vidé, on le supprime
            $Diff = (time() - filectime($element));
            if ($Diff > $Delai) rmdir($element);
        } else { // Sinon c'est un fichier, on le supprime
            //unlink($element);
            $Diff = (time() - filectime($element));
            if ($Diff > $Delai) unlink($element);
        }
        // On passe à l'élément suivant
    }
}

$dir = ".";
deleteTree($dir); // On vide le contenu de notre dossier
rmdir($dir); // Et on le supprime


?>

Mammouth du PHP | 2703 Messages

21 janv. 2022, 19:25

il faut debuguer, afficher le contenu de $Diff, time(), filectime($element) pour vérifier que cela contient bien ce qui est attendu.

Invité
Invité n'ayant pas de compte PHPfrance

21 janv. 2022, 20:10

Merci or 1 pour ta réponse,

Par contre je suis plus que débutant en PHP, comment on debugue en php, j'utilise pour éditer mon code Visual studio code.
Est ce que je peux debuguer avec cette éditeur ou faut il que je crée obligatoirement un serveur et un environnement avec dossier et fichier pour debuguer?