Anne a écrit :
> Le problème c'est qu'un fichier temporaire a été créé. [...]
La suppression d'anciens fichiers me semble un peu compliquée en PHP du
fait même du modèle de fonctionnement de PHP : chaque requête donne lieu
à l'exécution d'un script, qui est un processus de courte durée qui se
termine dès que la réponse est envoyée au client. Tu évites de faire un
sleep() qui laisserait poireauter le client en attente de la fin de la
réponse.
À défaut de basculer sur un modèle complètement différent, tel celui de
Node.js (le script, processus de longue durée de vie, *est* le serveur),
je te suggère d'implémenter un script ramasse-miettes (garbage
collector). Celui-ci pourrait être appelé soit par le script principal,
soit par un cron.
Le boulot du ramasse-miettes serait simplement de supprimer du
répertoire upload/ tous les fichiers plus anciens qu'un certain âge. Un
truc du style :
#!/bin/bash
find /var/www/upload -type f -mmin +5 -print0 | xargs -0 rm
> Mon idée, c'était de passer en paramètre dans le href le nom du
> fichier avec le paramètre du fichier à détruire
Cette méthode risque de ne jamais détruire le dernier fichier de chaque
session de chaque utilisateur. De façon générale, je ne trouve pas très
sain de d'être dépendant du client pour faire le ménage côté serveur.
À+,
Edgar.