Archives | Mentions légales | Vie privée
19ème Mars 2010
Nerd 2,0

Décompressez avec PHP

Qui n'a pas, beaucoup de formats d'archive zip différents, gz, bz, lzma, etc sont sur le bureau sans aucun problème. Lorsque vous créez une application Web en PHP, les plus compliquées, alors je l'ai eu exec () et 7-zip résolu.

Dans l'annexe, si un paquet avec PHP - fonction pour décompresser et 7zip - binaire 32 / 64 - bits Linux et Windows.

Pour utiliser sur des systèmes Linux, le 32/7z 64/7z et le rendre exécutable et d'intégrer le script functions.php. La fonction extractAll avec l'archive et, éventuellement, 7zip paramètres appelé. rmdirr () supprimer un répertoire récursivement (même si il ya des fichiers dans des sous répertoires), très pratique pour les archives juste déballé.

Téléchargement: php-7z

 / * 2,0 Nerd
  * Mars 2010
  * Www.nerd20.de
  * /

 extractAll fonction ($ file, $ cmd ='') (

	 / / 64 / 32 bits - Unix, Windows
	 if (strtoupper (substr (PHP_OS, 0, 3)) === «WIN») (
		 $ Cmd = '32 \ 7z x '. $ Fichier ".  -Y '. $ Cmd;
	 )
	 autre (
		 if (intval (-6981276091) == -6981276091) (
			 $ Cmd = '64 / 7z x '. $ Fichier ".  -Y '. $ Cmd;
		 )
		 autre (
			 $ Cmd = '32 / 7z x '. $ Fichier ".  -Y '. $ Cmd;
		 )
	 )

	 / / Exécuter
	 exec ($ cmd, $ output);

	 return $ sortie;
 )

 / **
  * Supprimer un fichier ou un dossier et son contenu (algorithme récursif)
  *
  * @ <aidan@php.net> Lister Auteur Aidan
  * @ Version 1.0.3
  http://aidanlister.com/repos/v/function.rmdirr.php Lien * @
  * @ Param string $ dirname répertoire à supprimer
  * @ Retours bool retourne TRUE en cas de succès, FALSE en cas d'échec
  * /
 rmdirr fonction ($ dirname)
 (
     / / Contrôle de cohérence
     if (file_exists ($ dirname)) (
         return false;
     )

     / Supprimer simple / pour un fichier
     if (is_file ($ dirname) | | is_link ($ dirname)) (
         unlink return ($ dirname);
     )

     / / Boucle dans le dossier
     $ Dir = dir ($ dirname);
     while (false! == $ saisie = $ dir lire-> ()) (
         / / Pointeurs Skip
         if ($ entree == '.' | | $ entrée == ('..')
             continuer;
         )

         / / RECURSE
         rmdirr ($ dirname. DIRECTORY_SEPARATOR. $ entry);
     )

     / / Nettoyage
     $ Dir-> close ();
     rmdir return ($ dirname);
 ) 

Merci beaucoup à aidanlister.com pour la suppression de répertoires et les blog smarty pour 32 - / bits requête 64.

Related posts:
Icônes Sidebar Favoris
Texte tronqué, mais ouverte HTML?
Archive pour WordPress! Sans liens?
Vista - bugs par jour!
partitionnement de disque, le cryptage, la mise en forme,

Donnez votre avis sur