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

Bibliothèques et frameworks PHP Discussion :

[Zip] ZipArchive, la création ne fonctionne pas


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 120
    Points : 50
    Points
    50
    Par défaut [Zip] ZipArchive, la création ne fonctionne pas
    Bonjour,

    Je tente de créer à la volée un fichier zip et le faire télécharger par un utilisateur. Mais lorsque je tente d'ouvrir le fichier zip un message d'erreur m'indique un message d'erreur : "erreur fatale ! la signature de l'entête central n'a pu être trouvé. Peute tre que ce fichier n'est pas un zip ..."

    J'ai tenté de réduire mon code à la création du fichier zip vide et j'ai la même erreur. J'ai essayé d'afficher la taille du zip mais la fonctione filesize échoue. Ce qui me confirme que la création du zip, même si eller envoie true n'est pas réussis.

    Voici le code :

    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
    21
    22
    23
    24
     
     
    ob_start(); //J'ai lu dans un com de php net qu'il fallait faire un ob_start et end pour avoir des zip fonctionnel
     
    $title  = "test_zip";
    $zip 	 = new ZipArchive;
    $open = $zip->open($title.'.zip', ZipArchive::OVERWRITE);
     
    if ($open === TRUE) {
       //code ajout de fichier - on entre bien dedans
    }
     
    $zip->close();
     
    $len = filesize($title.'.zip'); //Ne renvoie pas la taille, la fonctione échoue
     
    header('Content-Type: application/zip');
    header("Content-disposition: attachment; filename=$title.zip");
    header('Accept-Ranges: bytes');
    header("Content-Length: ".$len);
     
    ob_end_clean();
     
    readfile($title.'.zip');
    J'ai esssayé avec ou sans les ob_start et ob_end_clean
    J'ai essayé avec CREATE plutot que OVERWRITE

    De l'aide serai la bienvenue :-)

    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
    Points : 44 155
    Points
    44 155
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if ($open === TRUE) {
       //code ajout de fichier - on entre bien dedans
    }
    Il y a quoi precisement ici ?

    Moi si je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if ($open === TRUE) {
       $zip->addFromString('entry1.txt', 'entry #1'); 
    }
    Ca fonctionne.

Discussions similaires

  1. [CS5] Le mode de création ne fonctionne pas
    Par JossBeaumont dans le forum Dreamweaver
    Réponses: 2
    Dernier message: 25/03/2012, 11h33
  2. Réponses: 0
    Dernier message: 27/04/2011, 19h54
  3. $zip->addFile qui ne fonctionne pas
    Par dark_vidor dans le forum Langage
    Réponses: 6
    Dernier message: 14/03/2009, 01h31
  4. [VS2003] : création des dataset qui ne fonctionne pas
    Par skystef dans le forum Visual Studio
    Réponses: 0
    Dernier message: 20/08/2007, 16h11
  5. Réponses: 8
    Dernier message: 09/05/2006, 11h08

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