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 :

nouvelle archive zip et decompression


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    novembre 2012
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : novembre 2012
    Messages : 31
    Points : 26
    Points
    26
    Par défaut nouvelle archive zip et decompression
    Bonjour,
    Je mets dans un dossier nommé PARIS le script suivant afin de créer un fichier .zip appelé PARIS.zip
    (Mon dossier PARIS comprend des photos de Paris).
    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
    25
    26
    27
    28
     
    <?php
    session_start();
    	$zip = new ZipArchive();
          $dos = "PARIS";
          if($zip->open('PARIS') == TRUE){
          	if($zip->open('PARIS.zip', ZipArchive::CREATE) == TRUE){
          		if ($lister == opendir($dos)){
       				while (false !== ($file = readdir($lister))) {
           				if ($file != '.' && $file != '..' && strrchr($file,".")=='.jpg'){
               				$diapo[] = $file;
               				$zip->addFile('$diapo[]');
           				}
       				}
       				closedir($lister);		
    			}
    		header('Content-Type: application/zip');
            	header('Content-Disposition: attachment;filename="PARIS.zip"');
            	header("Pragma: no-cache");
            	header("Cache-Control: must-revalidate, post-check=0, pre-check=0, public");
            	header("Expires: 0");
            	readfile('PARIS.zip');	  	
    	  	}
     
          }else{
            echo 'Impossible d&#039;ouvrir "Zip.zip"';
          } 
    ?>
    Je crée bien un fichier PARIS.zip, mais celui-ci est toujours vide.
    En décompression j'ai toujours le message :
    Impossible d'extraire le fichier PARIS.zip

    Je n'arrive pas à comprendre pourquoi le fichier zip est toujours vide.

    Pouvez-vous m'aider s'il vous plait.

    Merci d'avance

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    avril 2007
    Messages
    8 563
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : avril 2007
    Messages : 8 563
    Points : 16 291
    Points
    16 291
    Par défaut
    Question bête : pourquoi 2 fois open (dont un sans .zip)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
          if($zip->open('PARIS') == TRUE){
          	if($zip->open('PARIS.zip', ZipArchive::CREATE) == TRUE){
    Et je pense que cette comparaison if ($lister == opendir($dos)){ devrait être une affectation if ($lister = opendir($dos)){.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    novembre 2012
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : novembre 2012
    Messages : 31
    Points : 26
    Points
    26
    Par défaut
    Merci CELIRA de votre réponse.
    J'essaye diverses solutions pour essayer de m'en sortir, mais sans succès ....
    Mon script le plus épuré possible :
    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
    25
    26
    <?php
    session_start();
    	$zip = new ZipArchive(); 
          $dos = "PARIS";
          	if($zip->open('PHOTOS_PARIS.zip', ZipArchive::CREATE) === TRUE)
          	{
          		if ($lister = opendir($dos)) {
       				while (false !== ($file = readdir($lister))) {
           				if ($file != '.' && $file != '..' && strrchr($file,".")=='.jpg') {
               				$diapo[] = $file;
               				$zip->addFile('$diapo[]');
           				}
       				}
       				closedir($lister);	
    			}  	
       		$zip->close();
    		  	header('Content-Type: application/zip');
            	header('Content-Disposition: attachment;filename="PHOTOS_PARIS.zip"');
            	header("Pragma: no-cache");
            	header("Cache-Control: must-revalidate, post-check=0, pre-check=0, public");
            	header("Expires: 0");
            	readfile('PHOTOS_PARIS.zip');	  	
    	 	}else{
            	echo 'Impossible d'ouvrir "Zip.zip"';
          	} 
    ?>
    Lorsque j'essaye de décompresser l'archive j'obtiens :
    Nom : unzip.jpg
Affichages : 10
Taille : 54,2 Ko

    Impossible d'extraire le contenu de PHOTOS_PARIS.zip avec The Unarchiver
    ou
    L'extraction de PHOTOS_PARIS.zip a échoué avec Keka
    code erreur 2 en utilisant p7zip
    Lorsqu'après avoir créé et refermé l'archive, où est-elle stockée ?

    Je n'arrive pas à comprendre cela.

    Un coup de mains m'arrangerait bigrement. Merci d'avance.

Discussions similaires

  1. Ouvrir les archive zip avec l'explorateur windows
    Par koKoTis dans le forum Windows XP
    Réponses: 2
    Dernier message: 21/08/2006, 00h17
  2. [Zip] Problème de création d'archives (Zip.lib.php)
    Par BOUHAMOU dans le forum Bibliothèques et frameworks
    Réponses: 15
    Dernier message: 24/04/2006, 13h51
  3. [Zip] Comment lire des archives ZIP ?
    Par Paganoni dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 24/01/2006, 00h34
  4. [C#] [WinForms] Lecture d'un fichier dans une archive ZIP
    Par aegypius dans le forum Windows Forms
    Réponses: 2
    Dernier message: 21/12/2004, 18h15
  5. Archive::Zip
    Par Cyspak dans le forum Modules
    Réponses: 2
    Dernier message: 09/09/2003, 14h34

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