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:
- $ziplist qui est la liste des fichiers. Elle contient le chemin relatif à la racine du site.
- On construit le chemin absolu en concaténant ABSPATH et ce chemin relatif.
- Cela donne la variable $path, tandis que le chemin relatif est fourni comme second argument à la méthode addFile.
- La variable $target est le nom avec le chemin absolu de l'archive a créer.
Pour sélectionner les fichiers à archiver, on utilise un formulaire, dont le code est dans le fichier zip.php
Télécharger l'archive
- L'archive est intégrée avec l'interface Bioloide.