IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Affichage puis destruction immédiate


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 42
    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

  2. #2
    Membre Expert
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Par défaut
    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);

  3. #3
    Fabouney
    Invité(e)
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 42
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 ?

  5. #5
    Membre Expert
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Par défaut
    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()...

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 42
    Par défaut
    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 .

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 17/09/2010, 15h05
  2. Préchargement de page puis affichage ?
    Par thibaut06 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 03/01/2007, 21h19
  3. affichage debut champs puis bouton "suite"
    Par delavega dans le forum ASP
    Réponses: 2
    Dernier message: 16/12/2006, 21h26
  4. Sélection liste déroulante puis affichage de text box
    Par dolu007 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 11/11/2006, 00h03
  5. [JFrame] double affichage puis x3..
    Par meda dans le forum Agents de placement/Fenêtres
    Réponses: 15
    Dernier message: 20/06/2006, 17h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo