Effacer les fichiers images ( .png ), d'un répertoire temps vieux de plus d'un certain temps (à définir) de façon récurente

Description

Bonjour,
après avoir longtemps cherché sur le net un code qui correspond exactement à ce que je voulais, à savoir effacer les fichiers .png de mon répertoire temp, j'ai écrit celui-ci.
Ce code efface tous les fichiers du répertoire temps vieux de plus d'une demi-heure, dès qu'un visiteur ouvre la page. En effet sur mon site le visiteur est amené à créer des fichiers images .png de façon dynamique ... Si il imprime (tout va bien le serveur les unlink mais, si il quitte le site sans imprimer : Ils restent ... à force cela gonfle le répertoire temp.

Ce bout de code est adaptable : répertoire "temp" extension: ".png " et durée sont modifiables à votre situation !

Source / Exemple :


<?php
//************ Début code****************
// -------Début fonction ---------

function efface_fichier_dans_rep($path,$ext,$temps) {
    $O = dir($path);
    if(!is_object($O))
    return false;
    while(FALSE !== ($file = $O -> read())) {  
        if($file != '.' && $file != '..') {
            if(is_file($path.'/'.$file))
			{
			if((pathinfo($file, PATHINFO_EXTENSION)==$ext) && (filemtime($path.'/'.$file)<= (time()-$temps)))
			{
			unlink($path.'/'.$file);
			}
			}
			}
        }
    $O -> close();
    return true;
    }
// ---------Fin fonction
// On lance la fonction ici depuis n'importe quelle page du site avec le lien du répertoire concerné
//  "/xxx/xxxx/xxx/xxx/temp" lien côté Apache celui qui s'affiche quand on a une erreur de code par exemple....
efface_fichier_dans_rep("/xxx/xxxx/xxx/xxx/temp","png","1800");// 1800 = une demi-heure en secondes
// fin code
?>

Conclusion :


Pour ceux qui ont suivi le début de cette contribution, Il est des commentaires qui peuvent vous décourager, voir vous vexer très sérieusement, surtout lorsque c'est votre première contribution, que vous en êtes fier, que vous l'avez vérifiée sur votre site, quelle fonctionne et que vous vous faites un plaisir de vouloir la partager !
Ceci dit ... Les messages privés (MP) sont là aussi pour pouvoir discuter, il ne faut pas se laisser abattre dès le premier commentaire qui vous fait comprendre que vous n'avez rien à faire en PHP et que vous ennuyer "ceux qui savent" avec vos contributions pourries! Au contraire cela devient même (à mon sens ) très constructif ... je vous livre donc mon bout de code après une gentille explication avec Neigedhiver, que finalement je remercie pour ses explications exhaustives en MP, et ses excuses que j'accepte très volontiers et vous invite à aller voir sa source XDir ... qui en effet est une autre solution (pour ne pas dire LA solution) pour ce problème et bien d'autres sur la gestion des fichiers en PHP mais que malheureusement je n'avais pas découverte avant !

Amicalement
Christophe.

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.