Dezipper une archive en conservant l'arborescence

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Dezipper une archive en conservant l'arborescence

Re: Dezipper une archive en conservant l'arborescence

par soucalex » 15 juil. 2012, 02:09

Re: Dezipper une archive en conservant l'arborescence

par soucalex » 15 juil. 2012, 02:05

Bonjour,
Tu trouveras ta réponse sur ce lien-là !

http://www.siteduzero.com/forum-83-2141 ... a-php.html

A+

Re: Dezipper une archive en conservant l'arborescence

par sirakawa » 02 juin 2012, 09:34

Munis-toi d'une boussole avant de te lancer dans cette lecture.

Re: Dezipper une archive en conservant l'arborescence

par Maitrepylos » 29 mai 2012, 10:52

Tu veux donc afficher un arbre.

Il va falloir te faire un peu de lecture http://julien-pauli.developpez.com/tutoriels/php/spl/

Bonne lecture et apprentissage :)

Dezipper une archive en conservant l'arborescence

par squallblanc » 28 mai 2012, 18:55

Bonjour, voila je suis confronté à un problème (encore me direz vous... :D ) avec la fonction unzip.
J'ai récuperé un script qui fonctionne parfaitement quand l'archive contient un seul fichier mais pas quand celle-ci à 385 fichiers et sous dossiers.
Je cherche à modifier ce bout de code pour qu'il dezippe mon archive et surtout qu'il conserve l'arborescence.
le code :
			function unzip($file, $path='', $effacer_zip=false)
			{
			$tab_liste_fichiers = array(); //Initialisation
			$zip = zip_open($file);
			if ($zip)
			{
			while ($zip_entry = zip_read($zip)) //Pour chaque fichier contenu dans le fichier zip
			{
			if (zip_entry_filesize($zip_entry) > 0)
			{
			$complete_path = $path.dirname(zip_entry_name($zip_entry));
			/*On ajoute le nom du fichier dans le tableau*/
			array_push($tab_liste_fichiers,$nom_fichier);
			$complete_name = $path.$nom_fichier; //Nom et chemin de destination
			if(!file_exists($complete_path))
			{
			$tmp = '';
			foreach(explode('/',$complete_path) AS $k)
			{
			$tmp .= $k.'/';
			if(!file_exists($tmp))
			{ mkdir($tmp, 0755); }
			}
			}
			/*On extrait le fichier*/
			if (zip_entry_open($zip, $zip_entry, "r"))
			{
			$fd = fopen($complete_name, 'w');
			fwrite($fd, zip_entry_read($zip_entry, zip_entry_filesize($zip_entry)));
			fclose($fd);
			zip_entry_close($zip_entry);
			}
			}
			}
			zip_close($zip);
			}
			return $tab_liste_fichiers;
			}
			/**********************************************************/
			$liste = array();
			$liste = unzip('../archive/latest.zip','../../comptes/'.valideChaine($_POST['societe']).'/');
			echo 'Le fichier zip contenait '.count($liste).' fichier(s) :<br />';
			foreach ($liste as $nom_fichier)
			{
			echo $nom_fichier.'<br />';
			}
Qu'elle partie dois je modifier pour extraire tout mes fichier avec leurs l'arborescence?
merci