Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/02/2008, 10h01   #1
Membre du Club
 
Inscription : février 2004
Messages : 137
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 137
Points : 50
Points : 50
Envoyer un message via MSN à vandeyy
Par défaut Comment supprimer un fichier ?

Bonjour tout le monde,

j'ai un souci de suppression de fichier celui-ci ne peut s'afficher car il est effacé bien que l'instruction soit déclarée après.
En fait, mon script (php) est exécuté côté serveur et de ce fait, celui-ci est supprimé avant l'affichage (ds mon navigateur).

Comment puis-je résoudre ce problème ?

Voici mon code:

Code :
1
2
3
4
5
6
7
8
...
<br />
  <IMG SRC="<?php echo $mon_filename ?>" BORDER=1 ALT="image"> 
  <br /><br />
  <?php unlink($mon_filename) ; ?>
 </p>
</body>
  </html>
vandeyy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2008, 10h22   #2
Membre éclairé
 
Avatar de Shiva Skunk
 
Femme Hélène
Ingénieur développement logiciels
Inscription : mai 2004
Messages : 326
Détails du profil
Informations personnelles :
Nom : Femme Hélène
Âge : 27
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2004
Messages : 326
Points : 317
Points : 317
Bonjour,

si tu veux supprimer ton fichier après l'avoir affiché, il te faudra le faire sur une autre page car comme tu l'as si bien dit, le php s'exécute sur le serveur, donc avant l'affichage de ton image.

Une solution (je ne sais pas si ça fonctionnera parfaitement) serait d'afficher ton image, d'ouvrir une popup qui elle contiendra le code de suppression de ton image et de la fermer automatiquement.

Mais les popups sont à éviter car très souvent bloquées par les utilisateurs.
__________________
Shiv@ Skunk
Shiva Skunk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2008, 10h45   #3
Membre du Club
 
Inscription : février 2004
Messages : 137
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 137
Points : 50
Points : 50
Envoyer un message via MSN à vandeyy
En effet, le popup reste une solution mais pas top ?!
Si vous avez d'autre idée pouvez-vous les laisser?

Merci.

Yves
vandeyy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2008, 11h14   #4
Membre à l'essai
 
Inscription : mars 2006
Messages : 54
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 54
Points : 24
Points : 24
tu peux ajouter le lien dans un fichier / base de donnée qui va faire office de liste de tâches à supprimer.
et en début de ton script, tu parcours ce fichier et tu supprime tout ce qui dedans.

en gros t'aurais dans ton script php:

[parcours tâches => suppression fichier]
[affichage image]
[ajouter tâche => ajoute le lien dans la liste des tâches à supprimer]


Inconvénients:
si t'as beaucoup d'utilisateurs en même temps il se peut que l'image soit quand même supprimer avant d'avoir le temps de la charger complétement par un autre utilisateur qui affiche une autre image.
la solution à cet inconvénient et d'inclure une sorte de délai de suppression lors de l'analyse des tâches...
dridri est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2008, 11h37   #5
Membre du Club
 
Inscription : février 2004
Messages : 137
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 137
Points : 50
Points : 50
Envoyer un message via MSN à vandeyy
Pour l'instant, je préfère (de loin) cette solution (tâches ds la base de données).

Y a peut-être d'autres avis.

Merci

Yves
vandeyy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2008, 11h42   #6
Membre à l'essai
 
Inscription : mars 2006
Messages : 54
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 54
Points : 24
Points : 24
j'ai oublié également un autre inconvénient:
si t'as presque aucune utilisateur, la liste des tâches ne va pas être exécutée souvent et donc tu vas garder les images plus longtemps sur le serveur...

pour résoudre ça, si tu as le contrôle totale du serveur tu peux ajouter un petit "cron" sous linux qui va t'exécuter un script php toutes les X minutes par exemple.

voilà, je ne vois pas de solution miracle à part ça...


peut-être que tu peux cumuler les deux:

1) créer un lien "fermer" qui va rediriger vers une page php qui va tout de suite supprimer l'image. (faire attention à supprimer aussi l'image de la liste des tâches...)
2) ajouter quand même dans la liste des tâches pour les utilisateurs qui se moquent du fermer et vont directement fermer la fenêtre du navigateur.
dridri est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2008, 14h54   #7
Membre du Club
 
Inscription : février 2004
Messages : 137
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 137
Points : 50
Points : 50
Envoyer un message via MSN à vandeyy
Un tout grand MERCI pour tes solutions.
Je pense aussi que cela va être dur de trouver une autre solution.
Je laisse encore ce post ouvert quelques jours au cas ou.

Merci à toi.

Yves
vandeyy est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h21.


 
 
 
 
Partenaires

Hébergement Web