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 08/01/2007, 12h28   #1
Invité régulier
 
Inscription : janvier 2003
Messages : 37
Détails du profil
Informations forums :
Inscription : janvier 2003
Messages : 37
Points : 7
Points : 7
Par défaut Affichage puis destruction immédiate

Bonjour,

J'aurai besoin d'aide pour réaliser ceci :

afficher un fichier et le detruire immédiatement apres . En fait , dans une page PHP ( main.php) je constuit un frameset qui affiche dans un des frame, un fichier PDF qui a été temporairement copié dans un repertoire visible via http . Mais pour des raisons de sécurité, il ne faut pas le laisser là !
J'ai bien mis un unlink à la fin du fichier main.php mais du coup le frame affiche une erreur ! la séquence n'est pas bonne !

comment puis je faire cela ?

Merci d'avance
giffle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2007, 13h02   #2
Expert Confirmé
 
Avatar de Sub0
 
Homme
Inscription : décembre 2002
Messages : 3 468
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 39

Informations forums :
Inscription : décembre 2002
Messages : 3 468
Points : 3 115
Points : 3 115
Envoyer un message via MSN à Sub0 Envoyer un message via Skype™ à Sub0
As-tu essayé avec flush() juste après l'affichage et avant la suppression ?
Tu peux éventuellement complèter cette solution en ajoutant un petit délai d'une ou deux secondes avant la suppression : Sleep(2);
Sub0 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2007, 13h26   #3
Fabouney
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
Bonjour,

il faut que tu procède ainsi :

- tu lis le fichier
- tu stock le contenu dans le tampon
- tu supprimes le fichier
- tu met le contenu du tampon dans ta iframe.

ca devrait resembler à un truc du genre :

Code :
1
2
3
4
5
6
7
<?php
ob_start(); //on ouvre le tampon
echo "ICI TU PARCOURS CHAQUE LIGNE DU FICHIER PAR EXEMPLE"; //chaque affichage sera stocké dans le tampon
$ofile = ob_get_contents(); //on stock dans $ofile le contenu du tampon
ob_end_clean(); //on le vide
echo '<iframe...>'.$ofile.'</iframe>'; //on l'affiche
?>
regarde sur php.net si jamais tu veux de l'aide sur ces fonctions.
Cordialement.
  Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2007, 16h04   #4
Invité régulier
 
Inscription : janvier 2003
Messages : 37
Détails du profil
Informations forums :
Inscription : janvier 2003
Messages : 37
Points : 7
Points : 7
Je viens de tester la technique du flush() ( qui me paraissait plus simple )

mais les resultats sont aleatoires !! un coup ca marche un coup ca marche pas !!

en gros la séquence de mon script est celle-ci :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?
.
.
.
 copy du fichier vers le repertoire temporaire
.
.
.
.
.
echo de la page ( frameset) :
 .... <FRAME NAME='right_frame' SRC=\"$tmp_location_file\">
.
flush();ob_flush();ob_end_flush(); // j'ai mis le paquet !!
sleep(2);
unlink($dest_copy);
?>


la creation et la destruction du pdf se passe bien mais dans certains cas ; la page affiche un message comme quoi le fichier n'existe pas .

Pb de synchronisation ?

des idées ?
giffle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2007, 16h20   #5
Expert Confirmé
 
Avatar de Sub0
 
Homme
Inscription : décembre 2002
Messages : 3 468
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 39

Informations forums :
Inscription : décembre 2002
Messages : 3 468
Points : 3 115
Points : 3 115
Envoyer un message via MSN à Sub0 Envoyer un message via Skype™ à Sub0
As-tu pensé d'insérer une page PHP dans ta frame ? Peut-être est-ce déjà le cas...
Ainsi, elle pourrait se supprimer elle-même une fois affichée si tu ajoutes le code de suppression à la fin de celle-ci.

Sinon, essaye en augmentant le délai du sleep()...
Sub0 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2007, 17h23   #6
Invité régulier
 
Inscription : janvier 2003
Messages : 37
Détails du profil
Informations forums :
Inscription : janvier 2003
Messages : 37
Points : 7
Points : 7
Je pense avoir résolu le pb en faisant un touch($mon_fichier); aprés l'avoir copié !
J'avais remarqué que lorsque que je faisais un ls dessus pour voir s'il etait correctement créer puis supprimer pendant le chargement de mon frame cela fonctionnait alors que lorsque j'attendais sans rien faire cela plantait !!

Merci pour votre aide . Je reviendrai vers vous si j'ai un soucis par la suite .
giffle 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 00h34.


 
 
 
 
Partenaires

Hébergement Web