Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

EXTRACTION DE ZIP (QUI MARCHE SUR FTP ET EASYPHP SANS PROBLÈMES)


Information sur la source

Catégorie :Divers Classé sous : zip, extraction, ftp Niveau : Débutant Date de création : 28/11/2007 Date de mise à jour : 28/11/2007 17:35:32 Vu / téléchargé: 4 099 / 207

Note :
Aucune note

Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note


Description

Cliquez pour voir la capture en taille normale
Voila une source qui marche pour l'extraction de ZIP !!

Pour EasyPHP pensez a activer l'extension "php_zip" pour cela rien de plus simple,
faite clique droit sur le E dans la barre des taches pointer Configuration -> Extension PHP (ou Ctrl+X).
Cocher l'extension (tout en bas) et Appliquer.

Sinon le zip fournit est livré avec les fichier Index.php et pclzip.lib.php (qui lui n'est pas de moi mais de phpconcept (merci a eux)) et un repertoire "test" avec un zip pour les tests contenant le logo PHP codesource.
 

Source

  • <html>
  • <head>
  • <title>Votre_Titre</title> // a mofifier
  • </head>
  • </html>
  • <?
  • function fileext ($file) {
  • $p = pathinfo($file);
  • return $p['extension'];
  • }
  • $dir = "./test"; // Repertoire ou est situé le fichier a extraire
  • /* Le vrai travail commence ici */
  • include "pclzip.lib.php";
  • chdir($dir);
  • $basedir = getcwd();
  • $basedir = str_replace('\\','/',$basedir);
  • if (is_dir($basedir)) {
  • $parent = dirname($basedir);
  • $cur = $basedir;
  • while (substr($cur,0,1) == '/') {
  • $cur = substr($cur,1,strlen($cur));
  • $path .= '/'; }
  • $p_out = $dir; // endroit ou sera extrait le ZIP (le même dans ce cas la)
  • while (strlen($cur) > 0) {
  • $k = strpos($cur,'/');
  • if (!strpos($cur,'/')) $k = strlen($cur);
  • $s = substr($cur,0,$k);
  • $cur = substr($cur,$k+1,strlen($cur));
  • }
  • echo "<center><div class=bigblock><div class=contents>";
  • $glob = array();$c = 0;
  • if ($dh = opendir(getcwd())) {
  • while (($file = readdir($dh)) !== false) {
  • if ($file != '..' && $file != '.') $glob[$c++] = $file;
  • }
  • closedir($dh);
  • }
  • echo "</div><div class=filelist>";
  • echo "<div class=filedirtitle>ZIP files</div>";
  • $filez = $glob;
  • reset($filez);
  • if (sizeof($filez) > 0)
  • foreach ($filez as $filename) {
  • if (strtolower(fileext($filename)) == 'zip')
  • if (is_file($filename)) {
  • echo "&nbsp;&nbsp;<a href='?dir=$basedir&unzip=$filename&action=unzip' title='Extraire les fichiers'><font color=red>[Extraire]</font></a><br>";
  • }
  • }
  • }
  • $unzip = $_GET['unzip'];
  • if (is_file($unzip)) { //décompression...
  • $zip = new PclZip($unzip);
  • if (($list = $zip->listContent()) == 0) {die("Error : ".$zip->errorInfo(true)); }
  • if ($_GET[action] == 'unzip') {
  • echo "<br><b>Début de la décompression...</b><br>";
  • $zip->extract('');
  • echo "Extraction réussie!<br>\n";
  • }
  • }
  • ?>
<html>
<head>
<title>Votre_Titre</title> // a mofifier
</head>
</html>
<?

function fileext ($file) {
$p = pathinfo($file);
return $p['extension'];
}

$dir = "./test"; // Repertoire ou est situé le fichier a extraire


/*      Le vrai travail commence ici     */


include "pclzip.lib.php";

chdir($dir);

$basedir = getcwd();
$basedir = str_replace('\\','/',$basedir);     

if (is_dir($basedir)) { 

$parent = dirname($basedir);

$cur = $basedir;

while (substr($cur,0,1) == '/') {
        $cur = substr($cur,1,strlen($cur));
        $path .= '/'; }

$p_out = $dir;    // endroit ou sera extrait le ZIP (le même dans ce cas la)
while (strlen($cur) > 0) {
$k = strpos($cur,'/');
if (!strpos($cur,'/')) $k = strlen($cur);
$s = substr($cur,0,$k);
$cur = substr($cur,$k+1,strlen($cur));

}

echo "<center><div class=bigblock><div class=contents>";

$glob = array();$c = 0;
if ($dh = opendir(getcwd())) {
        while (($file = readdir($dh)) !== false) {
            if ($file != '..' && $file != '.') $glob[$c++] = $file;
        }
    closedir($dh);
    }

echo "</div><div class=filelist>";
echo "<div class=filedirtitle>ZIP files</div>";
$filez = $glob;
reset($filez);
if (sizeof($filez) > 0)
foreach ($filez as $filename) {
if (strtolower(fileext($filename)) == 'zip')
if (is_file($filename)) {
echo "&nbsp;&nbsp;<a href='?dir=$basedir&unzip=$filename&action=unzip' title='Extraire les fichiers'><font color=red>[Extraire]</font></a><br>";
}
}

}

$unzip = $_GET['unzip'];

if (is_file($unzip)) {       //décompression...

$zip = new PclZip($unzip);
if (($list = $zip->listContent()) == 0) {die("Error : ".$zip->errorInfo(true));  }

if ($_GET[action] == 'unzip') {
echo "<br><b>Début de la décompression...</b><br>";
$zip->extract('');
echo "Extraction réussie!<br>\n";
}

}
?>     

Conclusion

Voila maintenant a vous de tester et d'apporter votre contribution !!

Ah aufait, il y a des erreurs (uniquement dans EasyPHP), enfin j'arrive pas a les faire partir mais le script marche quand même heureusement lol !!

Donc si il y en a qui y arrive qu'ils veuillent bien mettre le code modifié.

Merci d'avance !!!

Et bon codage.


 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

28 novembre 2007 17:35:33 :
Correction des fautes de frappe lol

Commentaires et avis

signaler à un administrateur
Commentaire de codefalse le 28/11/2007 23:54:00 administrateur CS

Sache que php5 inclut déjà ZipArchiver qui permet de faire tout ca très simplement (bien sur si l'extension est activée). Sache aussi que c'est la fin de php4 et que php6 va bientot sortir, alors passe au moin à la 5, ca t'évitera bien des galeres !

Sinon, tu es nouveau ? visite cette page, elle t'apprendra plein de bonnes choses :
http://www.phpcs.com/codes/REGLES-BONNE-PROGRAMMATION-PHP_24870.aspx

signaler à un administrateur
Commentaire de malalam le 29/11/2007 22:33:42 administrateur CS

Hello,

mouais...je suis désolé, mais le seul intérêt de cette source, c'est pczlib.
Tu n'as fait que créer un vague petit exemple sur comment utiliser cette lib pour extraire une archive. Et ça tient en une ligne...

signaler à un administrateur
Commentaire de yoman64 le 30/11/2007 02:18:59

Ouch , ça m'as fait mal au yeux de voir encore des <?  :(

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

EXTRACTION ZIP [ par babarfreethings ] Bonjour c'est tr&#232;s tr&#232;s pressant,&nbsp;&nbsp;&nbsp;Je voudrais savoir comment extraire des fichiers html et des images d'un fichier zip que Décompresser un Zip, Tar à distance sur FTP [ par pumbaak ] Salut, je cherche &#224; D&#233;compresser un Zip, Tar &#224; distance sur FTP, je m'explique, j'ai une connexion pas terrible chez moi et quand j'Upl Fonction pour Calculer Espace ftp [ par wizard512 ] Bonjours,Je souhaiterai savoir s'il &#233;xist une fonction en phppour nous dire combien d'espace ftp nousa ton allouer ( 10MB, 100MB, 1G, ... ) ?( Ap ftp en local [ par chamallow ] Bonjour bonjour,Bon alors là je me dis que je dosi vraiment être bete ! lolIl faut que je fasse un ptit module d'upload, download, et ça normalement j Ecriture fichier FTP [ par patrickrgn ] Bonjour,J'aiemerai savoir quelle est la fonction permettant d'écrire (ou créer si il n'existe pas) dans un fichier sur un sreveur FTP. Le contenu à éc ftp_put qui plante ??!! bizarre .... [ par chamallow ] Rebonjour encore et encore :)Bon ben j'ai encore des problèmes mais là je trouve que c'est bizarre et même l'admin a pas compris!Bon alors je me conne suppression des images en ftp [ par imaneflash ] Salut tt le monde, comment puis supprimer des images en ftp, je fais une boucle pour ça et en utilisant mysql, en plaçant la requête dans la boucle il Destination de GET en FTP php ... [ par RaelRiaK ] Bonjour,J'ai un probléme avec les fonctions GET ftp de php! En effet, elles demandent en parametres l'adresse du fichier source à telecharger, et l'ad PHP & FTP [ par louna_ha ] Bonjour tout le monde! voilà, j'ai réaliser un code qui consiste à charger un fichier à travers l'FTP. Mais ce code contirnt des erreurs que je n' problème zip_open() et imagecreatefromgif() [ par PaTaTe ] Bonjour,Je viens de migrer vers une version de PHP plus recente.J'ai tout reconfigurer comme avant en activant les modules dont je me sert.Seulement v


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,546 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.