Création d'archive zip en ligne

Un script qui génère des archives en ligne, donc qui place le contenu d'un site, ou une partie peut aider a faire une sauvegarde ou à créer des archives pour les utilisateurs.

Si le site est sous CMS, cela ne sauvera la base de données, qui peut être exportée par ailleurs avec un outil comme PHPMyAdmin. En fait en combinant d'une part la sauvegarde de la base de donnée et d'autre part celle des fichiers sous forme d'une archive zip, on fait un backup de l'intégralité d'un site.

Le script est bien sûr protégé par un mot de passe.

Il requiert PHP 5 et que le module zip soit compilé. On peut vérifier la présence des modules disponibles sur le serveur avec la commande:

<?php
 foreach(get_loaded_extensions() as $ext)  print $ext."<br>";
?>

Pour générer l'archive à partir d'une liste de fichiers, on implémente le script suivant:

define('ABSPATH', $_SERVER['DOCUMENT_ROOT']);    
$zip = new ZipArchive;
if($zip->open($target, ZipArchive::CREATE) === true)
{
foreach($ziplist as $file)
{
$path = ABSPATH.$file; $zip->addFile($path, $file); } } $zip->close();

Les variables suivantes lui sont passées:

Pour sélectionner les fichiers à archiver, on utilise un formulaire, dont le code est dans le fichier zip.php

Télécharger l'archive