Cette section est close pour le moment.
Mais je n'arrête pas la veille, loin de là. Retrouvez mes projets sur Github et sur cette page qui sera à jour plus régulierement


Ressources

Définition de ressource : (nom féminin) Qui peut fournir ce dont on a besoin.
Vous l'aurez compris, sur cette page ce ne sont pas vraiment des tutoriels, c'est plutôt des penses-bêtes plus ou moins fournis mais qui vous permettront d'avoir des bases concernant la programmation.
Recherche par tag

Zipper et dézipper des archives en PHP

Zipper et dézipper des archives en PHP
Publication : Le 01/10/2012 à 12:39:50

Introduction

La classe objet ZipArchive() permet de gérer les fichiers au format zip. Pour utiliser cette classe, il faut que l'extension php_zip soit activée.

Opérations de base

Tout d'abord, il faut appeler la bibliothèque ZipArchive()
<?php 
$archive = new ZipArchive(); 
?>
Pour ouvrir une archive, on utilise $archive->open, qui va nous permettre de lire l'archive ou de la créer si elle n’existe pas.
<?php
$file = "archive.zip";
// Test de l'existence d'une archive
if($archive->open($file) == TRUE)
{
      // On crée l’archive.
      if($archive->open($file, ZipArchive::CREATE) == TRUE)
      {
        echo 'Créé';
      }
}
?>
Il ne faut pas oublier de fermer l'archive, pour cela on utilise la commande $archive->close();
<?php
$archive->close();
?>

Gestion des fichiers

Maintenant que l'on sait ouvrir, créer ou supprimer une archive, on va voir comment gérer les fichiers.

Pour ajouter un fichier on va utiliser $archive->addFile($file);
<?php
$zip->addFile('file.txt');
?>
A noter que si vous voulez ajouter un dossier dans l'archive vous pouvez le nommer dans le nom du fichier. Vous pouvez aussi passer par $archive->addEmptyDir($dossier). Et si vous souhaiter écrire un fichier texte directement dans un addFile, il vous faudra passer par $archive->addFromString($file,$content);
Pour supprimer un fichier on passera par $archive->deleteName($file);

On peut aussi supprimer par l'index du fichier.

Les fonctions de renommage fonctionnent de la même manière.
<?php 
$archive->deleteName($file);
$archive->deleteIndex(2);
?>
Enfin, pour récupérer un fichier archivé, on utilise $archive->extractTo($dossier, $fichier). Pour que le fichier soit extrait dans le dossier courant, on tapera '.'.
<?php
$archive->extractTo('.', 'fichier.pdf');
?>

Conclusion

Pleins d'autres fonctions sont disponibles, vous les retrouverez dans la documentation officielle en lien complémentaire.

Sur le même thème

Zipper et dézipper des archives en PHP
Publication : Le 01/10/2012 à 12:39:50

Tags

Tags : tutoriel / PHP

Suggestion :

Gestion des fichiers via FTP

Gestion des fichiers via FTP