Extraction de zip (qui marche sur ftp et easyphp sans problèmes)

Description

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 / Exemple :


<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.

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.