Maison  >  Article  >  développement back-end  >  Fichiers Zip PHP

Fichiers Zip PHP

WBOY
WBOYoriginal
2024-08-29 12:55:501049parcourir

Les fonctions de fichiers PHP Zip sont utilisées pour stocker un ensemble de fichiers ou de répertoires ensemble dans le fichier compressé. Le Zip est le format de fichier d'archive utilisé pour stocker les fichiers sous forme compressée. L'archive Zip stocke facilement de nombreux fichiers ou répertoires sous forme compressée pour les stocker et les partager. Les fichiers PHP Zip ne sont pas des fonctions intégrées à PHP, car d'autres fonctions intégrées sont disponibles en PHP, nous devons donc installer la classe si elle n'est pas présente ; si nous utilisons PHP 5 ou une autre version plus récente, les extensions requises peuvent être téléchargées et installées gratuitement. L'extension Zip nécessite libzip.

Commencez votre cours de développement de logiciels libres

Développement Web, langages de programmation, tests de logiciels et autres

Pour travailler avec les fichiers Zip, nous devons effectuer l'installation comme suit –

Utilisateurs Linux (PHP 5+) :

  • Les utilisateurs de Linux doivent télécharger et inclure les fonctions et la bibliothèque PHP Zip car elles ne sont pas intégrées par défaut.
  • Assurez-vous que la version 0.11 ou ultérieure de libzip est installée, avec une version recommandée 0.11.2 ou ultérieure.
  • Lors de la compilation PHP, utilisez l'option de configuration –with-libzip=DIR pour inclure le support Zip.
  • Pour activer la fonction Zip, PHP doit être compilé avec l'indicateur –enable-zip.

Utilisateurs Windows (PHP 5+) :

  • Semblable à Linux, les fonctions et la bibliothèque PHP Zip ne sont pas intégrées par défaut pour les utilisateurs Windows.
  • Téléchargez et activez le fichier php_zip.dll, qui se trouve dans le fichier de configuration php.ini, pour utiliser les fonctions Zip.
  • Notez que dans PHP 5.3, cette extension est déjà intégrée, donc aucune étape supplémentaire n'est nécessaire.

Fonctions

Lorsque nous travaillons avec des fichiers Zip, nous devons utiliser certaines des fonctions mentionnées ci-dessous –

  • zip_open() : ouvre une archive de fichier ZIP en lecture.
  • zip_read() : lit le fichier suivant dans une archive de fichier ZIP ouverte.
  • zip_entry_open() : ouvre une entrée de répertoire dans le fichier ZIP en lecture.
  • zip_entry_read() : lit à partir d'une entrée de répertoire ouverte dans le fichier ZIP.
  • zip_entry_compressedsize() : récupère la taille du fichier compressé d'une entrée du répertoire ZIP.
  • zip_entry_compressionmethod() : Récupère la méthode de compression d'une entrée du répertoire ZIP.
  • zip_entry_filesize() : Récupère la taille réelle du fichier d'une entrée du répertoire ZIP.
  • zip_entry_name() : Récupère le nom d'une entrée du répertoire ZIP.
  • zip_close() : ferme l'archive du fichier ZIP.
  • zip_entry_close() : ferme l'entrée du répertoire ZIP.

Exemples de PHP XML dans un tableau

Exemple de fichiers PHP Zip pour créer le fichier Zip-

Ensuite, nous écrivons le code PHP pour comprendre plus clairement les fichiers PHP Zip avec l'exemple suivant, où le fichier Zip est utilisé pour stocker l'ensemble des fichiers et des répertoires sous la forme compressée, comme ci-dessous –

Exemple n°1

Tout d'abord, nous allons créer le dossier, puis créer les fichiers ou répertoires que nous souhaitons regrouper et les compresser ; puis nous utilisons le code PHP pour les compresser.

Code :

<?php
// give the path of directory whose file we want to Zip
$dir_path = "C:/xampp/htdocs/programs/";
// give the name to create the zipped directory
$zipfile = "ExZip.zip";
// Creating the new zip class
$zip_obj = new ZipArchive;
if( $zip_obj -> open( $zipfile, ZipArchive::CREATE ) === TRUE )
{
// open the directory at the gien path into the variable
$dir = opendir( $dir_path );
while( $file = readdir( $dir )) {
if( is_file( $dir_path.$file )) {
$zip_obj -> addFile( $dir_path.$file, $file );
}
}
$zip_obj ->close();
}
?>

Sortie :

Fichiers Zip PHP

Comme dans le code ci-dessus, il contient le chemin du répertoire (à partir duquel tous les fichiers doivent être compressés) et le nom du fichier (sous quel nom le fichier zip doit être créé). Tout d'abord, l'objet de classe ZipArchive est créé en utilisant ce code « $zip_obj = new ZipArchive ; » puis parcourez tous les fichiers disponibles dans ce chemin de répertoire, puis en utilisant l'objet ZipArchive, les fichiers sont ajoutés à l'archive Zip en utilisant ce code « $zip_obj -> addFile( $dir_path.$file, $file );.”

Exemple n°2

Exemple de fichiers PHP Zip pour décompresser le fichier Zip-

Ensuite, nous écrivons le code PHP pour comprendre les fichiers PHP Zip, où le fichier Zip est décompressé pour extraire ici tous les fichiers ou répertoires zippés, comme ci-dessous –

Code :

<?php
// Enter the path of directory
$dir_path = "C:/xampp/htdocs/programs/";
// give the name to create the zipped directory
$zipfile = "ExZip.zip";
// create new zip class object
$zip_obj = new ZipArchive;
$file = $dir_path.$zipfile;
print("The Zip file location is : ");
print($file);
// Add zip filename which we need to unzip
$zip_obj->open( $file );
// Extract all the Zip files to the current directory
$zip_obj->extractTo('./');
$zip_obj->close();
?>

Sortie :

Fichiers Zip PHP

Comme dans le code ci-dessus, il contient le chemin du répertoire et le nom du fichier (quel fichier doit être décompressé). Tout d'abord, l'objet de classe ZipArchive est créé en utilisant ce code « $zip_obj = new ZipArchive ; » Ensuite, en utilisant l'objet ZipArchive, le fichier est ouvert à partir de ce chemin, puis extrayez tous les fichiers qui ont été ajoutés à l'archive Zip en utilisant ce code « $zip_obj -> extraireVers('./');".

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:PHPsscanf()Article suivant:PHPsscanf()