Re: pgm perl ou php...

Page principale

Répondre à ce message
Auteur: Edgar Bonet
Date:  
À: Liste Guilde
Sujet: Re: pgm perl ou php...
Le lundi 16 août, anne aublanc a écrit :
> Je suis dans un cgi... quand l'utilisateur clique sur le bouton "retour au
> menu principal", j'ai mis :
>     <a href=\"../../index.php\">Retour au menu principal</a>
> cela fonctionne très bien!

>
> Mais, j'aimerai pouvoir effacer les fichiers créés par cet utilisateur
> avant de revenir au menu principal...
>
> Comment faire dans ce cas pour pouvoir faire un rm des fichiers avant de
> revenir au menu principal?


Oublie cette idée, elle est mauvaise. Quand ton visiteur a fini ce qu'il
avait à faire sur ton site, il n'a aucune raison de cliquer sur « retour
au menu principal ». Il peut très bien fermer la fenêtre, ou aller
ailleurs à partir de ses bookmarks, ou taper une autre adresse dans la
barre d'adresse... Tu peux si tu veux lui offrir un lien
« déconnexion », mais tu dois garder à l'esprit qu'il ne le suivra que
si ça lui chante (donc rarement). HTTP étant un protocole sans
connexion, l'utilisateur ne se déconnecte jamais au sens propre. Tu n'as
*aucun* moyen fiable de savoir quand il en a fini avec toi.

La bonne solution : les données que tu as mises dans les fichiers, mets
les plutôt dans une session PHP. Le garbage collector de PHP s'occupe
alors de faire le ménage pour toi.

Si c'est pas possible, alors tu n'y couperas pas : tu seras obligée de
programmer ton propre garbage collector. Celui-ci examinera le atime de
tous les fichiers créés par ton script et effacera tous ceux qui sont
plus vieux qu'un certain timeout (temps d'expiration automatique de la
session). Le script qui crée les fichiers peut lui-même appeler ton
garbage collector pour effacer les fichiers des sessions précédentes. Ou
alors tu peux l'appeler par un cron si tu préfères.

Edgar.