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] Ne télécharge à la volée que les petits fichiers (csv)


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 3
    Points : 3
    Points
    3
    Par défaut [CSV] Ne télécharge à la volée que les petits fichiers (csv)
    Bonjour

    J'ai un truc bizard. J'ai créer un fichier php auquel je passe une chaine de caractère csv (avec les ; et \n), et un nom de fichier.

    Fichier php
    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
    18
    19
    20
     
    <?php
    	//Permet d'envoyer un fichier au format csv avec le contenu des tableaux
     
    	//Variables
    	$contenu = isset($_GET['contenu']) ? (unserialize(urldecode(stripslashes($_GET['contenu'])))) : "Erreur";
    	$nomFichier = isset($_GET['fichier']) ? ($_GET['fichier']) : "Erreur.csv";
     
    	//Récupération des informations
     
    	//Envoi du fichier
    	header("Content-Type: text/csv"); // L'extension
    	header("Content-disposition: inline; filename=".$nomFichier); //Fichier à envoyer
    	header("Pragma: public");
    	header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    	header("Cache-Control: private",false);
    	header("Content-Length: ".strlen($contenu)); //Taille du fichier
    	echo $contenu;
    	exit();
    ?>

    Mon problème est que si les données que j'envoi ont trop de lignes (ou peut etre caractère), firefox ne me le télécharge pas ("Ce téléchargement a été bloqué par votre politique de zone de sécurité - localhost"), et ie7 ("Internet explorer ne peut pas afficher cette page web").

    Quelqu'un aurais t'il une solution ?

    Merci d'avance

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    La solution est de créer une nouvelle form, puis d'ajouter les variables en input.
    En effet car la méthode get n'accepte pas + de 256 caractères apres le nom !!

    PHP:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<br><form class='extract' id='extract' method='post' action='../prg/Extraction.php'>";
    Le contenu

    PHP:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    //Enregistre dans le fichier
                    echo "<input type='hidden' name='contenu' value='".$tabExtract."'>".
                    "<input type='hidden' name='fichier' value='Affaires_nouvelles.csv'>".
                    "<center><a class='lien' href='".'javascript: onclick=document.getElementById("extract").submit()'."'>Extraction</a></center>".
                "</form><br>";

    Voila résolu !!

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 11/01/2015, 21h00
  2. Clonage Table Mere et ses Fils ainsi que les petits fils (1-n, 1-m)
    Par facilus68 dans le forum SQL Procédural
    Réponses: 15
    Dernier message: 16/10/2012, 17h57
  3. Réponses: 4
    Dernier message: 21/06/2011, 10h10
  4. [CSV] Ajouter et supprimer des ligne dans un fichier CSV
    Par gpsevasion dans le forum Langage
    Réponses: 3
    Dernier message: 28/02/2007, 18h00
  5. Réponses: 7
    Dernier message: 06/02/2007, 14h27

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