Maison  >  Article  >  développement back-end  >  Comment compresser un répertoire en PHP ? (exemple de code)

Comment compresser un répertoire en PHP ? (exemple de code)

青灯夜游
青灯夜游original
2019-03-15 18:04:234548parcourir

En PHP, nous pouvons utiliser la classe ZipArchive pour compresser et décompresser des répertoires et créer des fichiers ZIP. L'article suivant vous donnera une brève compréhension de la façon d'utiliser la classe ZipArchive pour créer des fichiers compressés. J'espère qu'il vous sera utile.

Comment compresser un répertoire en PHP ? (exemple de code)

Classe PHP ZipArchive

La classe PHP ZipArchive peut être utilisée pour la compression et la décompression. Si elle n'existe pas, vous devrez peut-être installer la classe.

À partir de PHP 5.3, cette extension est intégrée. Avant cela, les utilisateurs Windows devaient activer php_zip.dll dans php.ini pour utiliser ses fonctionnalités.

Étapes :

1. Ouvrez le fichier php.ini et ajoutez

extension=php_zip.dll

2. Après avoir enregistré, redémarrez Apache ou d'autres serveurs.

Exemples de code utilisant la classe ZipArchive

Ce qui suit est un exemple de code pour voir comment utiliser la classe ZipArchive.

Exemple 1 : Utilisez la classe ZipArchive et créez un fichier compressé

<?php 
  
// 需要压缩的目录名
$pathdir = "demo/";  
  
// 创建压缩目录的名称
$zipcreated = "Zip.zip"; 
  
// 创建新的zip类
$zip = new ZipArchive; 
   
if($zip -> open($zipcreated, ZipArchive::CREATE ) === TRUE) { 
      
    // 将路径存储到变量中
    $dir = opendir($pathdir); 
       
    while($file = readdir($dir)) { 
        if(is_file($pathdir.$file)) { 
            $zip -> addFile($pathdir.$file, $file); 
        } 
    } 
    $zip ->close(); 
} 
  
?>

Répertoire d'origine sans compression :

Comment compresser un répertoire en PHP ? (exemple de code)

Répertoire compressé :

Comment compresser un répertoire en PHP ? (exemple de code)

Comment compresser un répertoire en PHP ? (exemple de code)

Exemple 2 : Utiliser la classe ZipArchive pour décompresser des fichiers ou une table des matières

<?php 
  
// 创建新的zip类
$zip = new ZipArchive; 
  
// 添加需要解压缩的zip文件名
$zip->open(&#39;demo/article.zip&#39;); 
  
// 解压目录
$zip->extractTo(&#39;./demo/&#39;); 
  
$zip->close();  
  
?>

Comment compresser un répertoire en PHP ? (exemple de code)

Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun. Pour un contenu plus passionnant, vous pouvez prêter attention aux colonnes de didacticiels pertinentes du site Web PHP chinois ! ! !

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