Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1421 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Zip de dossier en php

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Zip de dossier en php

n°1155666
Nkubi1
Posté le 21-07-2005 à 11:08:21  profilanswer
 

Bonjour,
 
J'aimerai savoir déjà si c'est possible de mettre dans un zip un dossier entier et son contenu, si oui quelqu'un pourrait me dire comment svp?
 
Je sais faire avec un fichier classique mais là je ne trouve pas comment faire avec un dossier, sacahnt que je crée à chaque fois 3 dossiers dans lesquels je copie des images ou non et que je dois créeer un fichier zip regroupant ces 3 dossiers plus un fichier classique.
 
Merci d'avance,
 
Nkubi

mood
Publicité
Posté le 21-07-2005 à 11:08:21  profilanswer
 

n°1155760
jagstang
Pa Capona ಠ_ಠ
Posté le 21-07-2005 à 11:41:11  profilanswer
 

un petit script que j'avais fait à l'époque (à adapter)
 
à utiliser avec pclzip.lib
 
fonction

Code :
  1. //-----------------------------------------------------------------------------  
  2. function zip($path)
  3. {
  4. if (!is_dir("photos/".$path) || !chdir("photos/".rawurldecode($path)))
  5.  {
  6.  echo "Erreur rép" ;
  7.  exit() ;
  8.  }
  9. $fichiers = array()  ;
  10. $rep = dir("." );
  11. $rep->rewind();
  12. $i=0 ;
  13. while($nomfic = $rep->read())
  14.  if ($nomfic != "." && $nomfic != ".." && !is_dir($nomfic) && $nomfic != "error_log" && $nomfic != $path.".zip" )
  15.   $fichiers[$i++] = $nomfic ;
  16. $fichier_zip = $path.".zip";
  17. if (file_exists($fichier_zip))
  18. unlink($fichier_zip) ;
  19. $zip= new PclZip($fichier_zip);
  20. $taille = sizeof($zip->listContent()) ;
  21. $zip->extractByIndex(0-$taille);
  22. $zip->add($fichiers,"","" );
  23. }
  24. //-----------------------------------------------------------------------------


 
zip.php

Code :
  1. <?php
  2. require("functions.php" ) ;
  3. $path = rawurldecode($_GET['f']) ;
  4. if (isset($_GET['f']) && is_dir("photos/".$path))
  5. {
  6. zip($path) ;
  7.  $file = $path .".zip" ;
  8. if(file_exists($file) && is_file($file))
  9.  {
  10.  header("Content-type: application/zip" );
  11.                 //header("Content-Type: application/octet-stream" );
  12.              header("Content-Length: " . filesize($file)) ;
  13.                header("Content-Disposition: filename=".urlencode($file));
  14.  //flush();
  15.  $speed = 1000 ;
  16.  $fd = fopen($file, "r" );
  17.     while(!feof($fd))
  18.   {
  19.   echo fread($fd, round($speed*1024));
  20.          flush();
  21.   sleep(1) ;
  22.      }
  23.                fclose ($fd);
  24.             unlink($file) ;
  25.  }
  26. else
  27.     echo "indisponible pour le moment chmod(0777)" ;
  28. }
  29. ?>


Message édité par jagstang le 21-07-2005 à 11:42:43
n°1155762
flow24
www.balland.org
Posté le 21-07-2005 à 11:41:27  profilanswer
 

tu zippes comment d'habitude? ("avec un fichier classique" )

n°1155875
Nkubi1
Posté le 21-07-2005 à 12:24:11  profilanswer
 

jagstang a écrit :


 
à utiliser avec pclzip.lib
 
fonction

Code :
  1. //-----------------------------------------------------------------------------  
  2. $zip= new PclZip($fichier_zip);
  3. $taille = sizeof($zip->listContent()) ;
  4. $zip->extractByIndex(0-$taille);
  5. $zip->add($fichiers,"","" );




 
Oui je venais de récupérer pclzip.lib, le problème c'est que depuis tout à l'heure je ne fais que d'avoir une archive qui est vide d'une taille de 0 ko.  
J'ai essayé en reprenant ta façon de faire juste là j'ai aussi essayé ça au départ :

Code :
  1. $fichier_zip="zip/".$info4['groupe'].".zip";
  2. $archive = new PclZip($fichier_zip);
  3. $v_list = $archive->create('./zip/Tel/ ./zip/Mess/ ./zip/Mag/');


 
Je comprend pas...
 
Nkubi

n°1155955
Nkubi1
Posté le 21-07-2005 à 13:22:01  profilanswer
 

Bon j'ai réussi à créer mon fichier zip et à mettre quelque chose dedans le problème c'est que ça me copie tout le contenu du dossier dans la racine du zip alors que moi c le dossier que j'aimerai avoir à la racine....
 
Aidez-moi svp
 
Nkubi


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Zip de dossier en php

 

Sujets relatifs
[php-Xoops]Probleme de fichiers phpxx.tmp qui saturent le dossier temp[PHP] tester si c'est un dossier
upload ecrire user choisit dossier ou il stocke[visual C++]ZIP
zipper des sous dossier avec phpRécupérer des fichiers dans un dossier
comment ouvrir un dossier depuis vbsvba ouverture des fichiers un à un d'un dossier sélectionné
Dossier et RacinePeux--t-on stocker les fichiers d'un script dans un dossier à part ?
Plus de sujets relatifs à : Zip de dossier en php


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR