Accueil > > > EFFACER LES FICHIERS IMAGES ( .PNG ), D'UN RÉPERTOIRE TEMPS VIEUX DE PLUS D'UN CERTAIN TEMPS (À DÉFINIR) DE FAÇON RÉCURENTE !
EFFACER LES FICHIERS IMAGES ( .PNG ), D'UN RÉPERTOIRE TEMPS VIEUX DE PLUS D'UN CERTAIN TEMPS (À DÉFINIR) DE FAÇON RÉCURENTE !
Information sur la source
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
- <?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
- ?>
<?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.
Historique
- 28 décembre 2009 14:02:40 :
- Nix est un Dieu, moi une merde !
- 28 décembre 2009 16:48:25 :
- Je voulais juste proposer un bout code. En le soumettant, j'étais prêt à recevoir d'éventuelles corrections !
Je ne m'attendais pas à une remarque aussi violente !
Neigedhiver si tu es si désabusé... Ne regarde plus ce site ... va à la pêche cela détend !!!!!
- 28 décembre 2009 23:40:36 :
- Un bonne explication vaut mieux que toutes les querelles !
je remplace donc :
while($file = $O -> read()) //<-- mauvais car s'il existe un fichier exemple "0" il retourne false et stop la boucle alors que d'autres fichiers seraient encore là (explications fournies par Neigedhiver en MP)
modifier par :
while(FALSE !== ($file = $O -> read())) //<-- Syntaxe correcte demander à Neigedhiver pour plus d'explications)
Que d'encre pour un cas d'école, mais je reconnais que l'on doit écrire dans les règles de l'art! Et à mon tour présente mes excuses à ceux que j'ai pu heurter !
- 29 décembre 2009 02:38:34 :
- Rien juste une coquille dans la description
- 30 décembre 2009 03:30:43 :
- Suite à la juste remarque de Inwebo,
Je simplifie donc le test de l'extension et pour que cette fonction puisse être cette fois adaptable très simplement, je mets tous les paramètres en variables, envoyés à l'appel de la fonction.
- 30 décembre 2009 03:47:58 :
- juste une erreur de frappe!
- 30 décembre 2009 04:28:10 :
- Rien, une erreur de frappe dans descriptif.
Sources de la même categorie
Commentaires et avis
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|