[ RESOLU ] Effacer des fichiers PDF qui ont plus d'une heure

Effacer des fichiers PDF qui ont plus d'une heure [ RESOLU ] - PHP - Programmation

Marsh Posté le 29-12-2005 à 10:43:44    

bonjour a tous
 
mon nouveau jeu en ligne génére à la volée des rapports de course au format PDF, téléchargeables par les joueurs. J'aimerais cependant effacer tous les rapports PDF qui ont plus d'une heure d'existence.
 
Je compte utiliser la fonction unlink, evidemment, et la fonction readdir() mais je ne sais pas trop comment architecturer cette petite fonction d'effacement.
un coup de main ?


Message édité par imcdb le 31-12-2005 à 00:38:03

---------------
Réagissez et commentez mes dessins sur snut.fr
Reply

Marsh Posté le 29-12-2005 à 10:43:44   

Reply

Marsh Posté le 29-12-2005 à 11:08:51    

Voilà une fonction que j'ai repris du site http://www.obspm.fr/michelangelo/fpdf/FAQ.htm
 

Citation :


function CleanFiles($dir)
{
    //Efface les fichiers temporaires
    $t=time();
    $h=opendir($dir);
    while($file=readdir($h))
    {
        if(substr($file,-4)=='.pdf')
        {
            $path=$dir.'/'.$file;
            if($t-filemtime($path)>3600)
                @unlink($path);
        }
    }
    closedir($h);
}  

Reply

Marsh Posté le 30-12-2005 à 11:14:26    

le seul soucis que j'ai, c'est que je positionne mon script à la racine de mon www. donc je mets quoi en $dir ?
CleanFiles('.') ? CleanFiles('..') ? ou CleanFiles('') ?


---------------
Réagissez et commentez mes dessins sur snut.fr
Reply

Marsh Posté le 30-12-2005 à 11:27:18    

Mais tu creer le pdf avec quoi ?  
Tu peux pas envoyer directement le pdf au client au lieu de l'ecrire en local pour l'effacer 1 heure après ?


---------------
"L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes." Michael R. Fellows & Ian Parberry
Reply

Marsh Posté le 30-12-2005 à 12:31:19    

j'ai essayé mais ca marche pas sous IE.
donc je stocke en fichiers temporaires, et les joueurs téléchargent leur rapport. mais il faut que je les efface ensuite.
 
une idée sur ma question précédente ?

Citation :


le seul soucis que j'ai, c'est que je positionne mon script à la racine de mon www. donc je mets quoi en $dir ?  
CleanFiles('.') ? CleanFiles('..') ? ou CleanFiles('') ?


---------------
Réagissez et commentez mes dessins sur snut.fr
Reply

Marsh Posté le 30-12-2005 à 14:55:39    

Fais un realpath("" ); pour connaître l'adresse complète du répertoire où se trouve ton fichier. Tu obtiens par exemple:
 
/var/www/sdb/tonsite/
 
Ensuite, tu fais un CleanFiles("../tonsite" );

Reply

Marsh Posté le 30-12-2005 à 16:12:52    

donc si le script est à la racine de mon www, c'est à dire au meme niveau que mes fichiers pdf à supprimer, je fais
 
CleanFiles("/home/rodeodri/www" );  
 
/home/www est le chemin de mon rep www sur OVH
 
??


Message édité par imcdb le 30-12-2005 à 16:17:00

---------------
Réagissez et commentez mes dessins sur snut.fr
Reply

Marsh Posté le 30-12-2005 à 16:34:17    

fais juste: CleanFiles("../www" );

Reply

Marsh Posté le 31-12-2005 à 00:37:45    

en fait, seul CleanFiles("/home/rodeodri/www" ); fonctionne.
Merci bcp !!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed