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 :

download multiple pdf files


Sujet :

Langage PHP

  1. #1
    Membre éclairé
    Inscrit en
    Mars 2007
    Messages
    334
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 334
    Par défaut download multiple pdf files
    Bonjour,

    Je souhaite faire un download de plusieurs fichiers pdf à travers une boucle foreach.
    J'ai le code qui permet de le faire pour un seul fichier à partir du header:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $file = $this->getContentFile(); //renvoie le content stream
    $filename = ...;
     header("Content-Type: application/pdf");
     header("Content-Disposition: attachement; filename=\"$filename\"");
     header("Pragma: no-cache");
     header("Expires: 0");
     echo $file;
    pour un seul fichier ça marche bien, j'ai une fenêtre qui permet de faire le downolad..pour plusieurs fichiers j'essaie de créer un zip:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    $zipname = 'myarchive.zip';
    $zip = new ZipArchive;
    $zip->open($zipname, ZipArchive::CREATE);
    header('Content-Type: application/zip');
    header('Content-disposition: attachment; filename='.$zipname);
    header('Content-Length: ' . filesize($zipname));       
    readfile($zipname);
    foreach ($files as $file){
    $zip->addFile($file);  
    }
    $zip->close();
    le problème c'est que mon $file, ne représente pas le chemin vers le fichier, c'est le contenu du fichier. Je ne peux pas récupérer le path, ces fichiers viennent d'une appli externe et j'ai pas trop la main dessus..
    j'ai essayé aussi avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $zip->addFromString($zipname, file_get_contents($file));
    mais ça ne marche pas non plus...le contenu du zip est vide!!

    est-ce que vous auriez une solution?
    Merci!!

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre éclairé
    Inscrit en
    Mars 2007
    Messages
    334
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 334
    Par défaut
    j'ai regardé le lien de la doc, j'ai essayé de retester avec ce code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     $zip->addFromString($filename, $file);
    ça me crée l'archive avec des fichiers pdf. mais les pdf sont endommagés j'arrive pas à les ouvrir..il y a un message d'erreur Adobe (soit fichier non supporté, soit fichier endommagé..)

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Ouvre le fichier pdf avec un editeur de texte pour voir si son début est conforme.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre éclairé
    Inscrit en
    Mars 2007
    Messages
    334
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 334
    Par défaut problème utf8 aprés génération de zip
    j'ai réussi finalement à générer le zip avec les fichiers pdf..
    maintenant j'ai un autre souci, c'est que les noms des fichiers sont en français et ce n'est pas pris en compte dans le zip...pas de caractères accentués..

    je suis entrain de tenter de faire des conversions en utf8, mais je n'ai toujours pas réussi..voici les conversions que j'ai essayé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $myfilename = mb_convert_encoding($filename, 'UTF-8','CP850');
    $myfilename = mb_convert_encoding ($filename,'CP1252', 'utf-8')
    $myfilename = iconv("ISO-8859-1", "CP437", $filename);
    $myfilename = iconv('utf-8', 'IBM437', $filename);
    $myfilename = iconv('CP1252', 'CP850', $filename);
    $myfilename = utf8_encode($filename);
    vous aurez d'autres idées?

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Il faudrait déjà que tu connaissances ton encodage de départ avant de te lancer dans des conversions.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre éclairé
    Inscrit en
    Mars 2007
    Messages
    334
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 334
    Par défaut
    et comment je fais pour connaitre l'encodage de départ?

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    C'est toi qui l'a défini : encodage de tes fichiers .php, encodage de ta connexion sgdb, encodage de tes documents HTML etc.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. [phpToPDF] Erreur d'affichage:Some data has already been output, can't send PDF file
    Par agbere dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 12/08/2008, 08h19
  2. [Upload] download multiple de fichier
    Par cocale dans le forum Langage
    Réponses: 4
    Dernier message: 03/08/2008, 19h18
  3. Temp PDF file has not been generated
    Par zxr96 dans le forum XMLRAD
    Réponses: 5
    Dernier message: 21/03/2008, 09h53
  4. download multiple et en même temps
    Par manuplt dans le forum Langage
    Réponses: 3
    Dernier message: 12/07/2006, 15h38
  5. Réponses: 6
    Dernier message: 30/07/2003, 14h59

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