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 :

[CSV] Redirection ne fonctionne pas


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2005
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 13
    Points : 12
    Points
    12
    Par défaut [CSV] Redirection ne fonctionne pas
    Salut à tous,

    voici le problème, je sauve un fichier en local (comme indiqué dans les FAQ -PHP) , le sauvetage se passe bien mais la redirection qui suit ne fonctionne pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
           $GoTo = "FiltreVehicules.php" ;	
    	$tailleFichier = filesize($file);
    	header('Content-Type: application/octet-stream');
    	header("Content-Length: $tailleFichier");
    	header("Content-Disposition: attachment; filename=\"$nomFichier\"");
    	readfile($file);
    	header('Content-Type: text/html; charset=ISO-8859-1');
    	header("Location: ".$GoTo);
    	exit();
    Quelqu'un peut-il m'aider à résoudre cela et m'expliquer en quoi je me fourvoie

  2. #2
    Membre émérite
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Points : 2 791
    Points
    2 791
    Par défaut
    bonjour
    en faisant comme cela ca devrait marcher:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header('Location: ".$GoTo."');
    petit lien sur les header:
    http://gr2.php.net/manual/fr/function.header.php

  3. #3
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Ben ca parait normal tu as déjà envoyer les headers...

  4. #4
    Membre averti Avatar de hisy
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    377
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 377
    Points : 353
    Points
    353
    Par défaut
    En plus je dirai que ton readfile() envoie des données sur la sortie standard ... et donc plus moyen de faire un header ...

  5. #5
    Membre à l'essai
    Inscrit en
    Juin 2005
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 13
    Points : 12
    Points
    12
    Par défaut
    Ok alors si mon readfile() ne me permets plus de faire un header().

    Comment fais-je pour faire une redirection après le readfile() ?

  6. #6
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    AMHA tu peux pas.

  7. #7
    Membre averti Avatar de hisy
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    377
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 377
    Points : 353
    Points
    353
    Par défaut
    Quel intérêt de faire une redirection derriere un readfile() ?

    C'est un peu comme tapisser un mur avant de mettre du placo ... ( Je suis en plein travaux à la maison ... )

  8. #8
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    et pourquoi le placo il pourrais pas avoir une jolie tapisserie d'abord einh ?
    non mais !

    essayes peut etre de faire une redirection javascript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $GoTo = "FiltreVehicules.php" ;   
       $tailleFichier = filesize($file);
       header('Content-Type: application/octet-stream');
       header("Content-Length: $tailleFichier");
       header("Content-Disposition: attachment; filename=\"$nomFichier\"");
       readfile($file);
       echo "<script type='text/javascript'>";
       echo "window.location.replace('".$GoTo."');";
       echo "<script>";
    mais c'est pas garanti que ca marche du fait du readfile

  9. #9
    Membre à l'essai
    Inscrit en
    Juin 2005
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 13
    Points : 12
    Points
    12
    Par défaut
    Le readfile() sert à sauver un fichier en local. Ce fichier étant le résultat d'une exportation vers une fichier csv.

    C'est la méthode préconnisée dans les FAQ-PHP de ce site.

    Sil y a un autre moyen de sauver un fichier en local, je suis preneur

    Et la redirection c'est pour permettre au monsieur qui navigue de revenir à une page particulière quand le résultat de son exportation a été sauvée sur
    disque dur rien qu'à lui, car les données qu'il a dans son fichier sont confidentielles.

  10. #10
    Membre à l'essai
    Inscrit en
    Juin 2005
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 13
    Points : 12
    Points
    12
    Par défaut
    J'aime bien la tapisserie moi ...

    Et non , la redirection javascript ne fonctionne pas

  11. #11
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <a href="download.php?id=123">Télécharger votre fichier sur votre disque dur à vous</a><br />
    Une fois le téléchargement terminé, vous pouvez vous rendre sur <a href="next.php">cette super page</a> !

  12. #12
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    ou alors tu met ton code de ssauvegarde dans une popup

  13. #13
    Membre à l'essai
    Inscrit en
    Juin 2005
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 13
    Points : 12
    Points
    12
    Par défaut
    je crois que je vais leur mettre un joli bouton 'Back' qui les renverra sur la page appelante

    Merci pour les suggestions

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

Discussions similaires

  1. Response.Redirect() ne fonctionne pas
    Par Daklum dans le forum ASP.NET
    Réponses: 27
    Dernier message: 20/09/2010, 13h32
  2. [PHP 5.2] La redirection ne fonctionne pas
    Par beegees dans le forum Langage
    Réponses: 1
    Dernier message: 17/05/2009, 20h39
  3. [URL rewriting] la redirection ne fonctionne pas
    Par jobo13 dans le forum Apache
    Réponses: 2
    Dernier message: 08/03/2009, 18h51
  4. redirections ne fonctionne pas
    Par Invité dans le forum Langage
    Réponses: 4
    Dernier message: 22/09/2006, 10h05
  5. [DOS] Redirection ne fonctionne pas
    Par Pedro dans le forum Langage
    Réponses: 15
    Dernier message: 13/06/2005, 08h45

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