Heim > Backend-Entwicklung > PHP-Tutorial > Wie dekomprimiere und komprimiere ich PHP-Dateien? (Codebeispiel)

Wie dekomprimiere und komprimiere ich PHP-Dateien? (Codebeispiel)

青灯夜游
Freigeben: 2023-04-06 16:56:02
Original
10369 Leute haben es durchsucht

So dekomprimieren Sie PHP-Dateien: Überprüfen Sie zunächst, ob das zu dekomprimierende Paket vorhanden ist. Überprüfen Sie anschließend, ob der Zielpfad vorhanden ist Dekomprimieren Sie die Datei.

Wie dekomprimiere und komprimiere ich PHP-Dateien? (Codebeispiel)

Der folgende Artikel zeigt Ihnen, wie Sie PHP zum Komprimieren und Dekomprimieren von Dateien verwenden. Jetzt werde ich ihn mit Ihnen teilen Bedürftige können sich darauf berufen.

Hinweis: PHP-Komprimierungs- und Dekomprimierungsdateien erfordern die Zip-Erweiterung ---ZipArchive-Klasse

PHP ZipArchive-Klasse kann für die Komprimierung und Dekomprimierung verwendet werden. Wenn sie nicht vorhanden ist, müssen Sie die Klasse möglicherweise installieren.

Ab PHP 5.3 ist diese Erweiterung integriert. Zuvor mussten Windows-Benutzer php_zip.dll in php.ini aktivieren, um ihre Funktionalität nutzen zu können.

Aktivierungsschritte:

1. Öffnen Sie die Datei php.ini und fügen Sie

extension=php_zip.dll
Nach dem Login kopieren

hinzu. 2. Starten Sie nach dem Speichern Apache oder andere Server neu.

Wie dekomprimiere ich PHP-Dateien?

/**
 * 解压缩
 * @method unzip_file
 * @param  string     $zipName 压缩包名称
 * @param  string     $dest    解压到指定目录
 * @return boolean              true|false
 */
function unzip_file(string $zipName,string $dest){
  //检测要解压压缩包是否存在
  if(!is_file($zipName)){
    return false;
  }
  //检测目标路径是否存在
  if(!is_dir($dest)){
    mkdir($dest,0777,true);
  }
  $zip=new ZipArchive();
  if($zip->open($zipName)){
    $zip->extractTo($dest);
    $zip->close();
    return true;
  }else{
    return false;
  }
}
Nach dem Login kopieren

Wie komprimiere ich Dateien in PHP?

Beispiel 1: Eine einzelne Datei komprimieren

/**
 * 压缩单个文件
 * @method zip_file
 * @param  string   $filename 文件名
 * @return boolean             true|false
 */
function zip_file(string $filename){
  if(!is_file($filename)){
    return false;
  }
  $zip=new ZipArchive();
  $zipName=basename($filename).'.zip';
  //打开指定压缩包,不存在则创建,存在则覆盖
  if($zip->open($zipName,ZipArchive::CREATE|ZipArchive::OVERWRITE)){
    //将文件添加到压缩包中
    if($zip->addFile($filename)){
      $zip->close();
      @unlink($filename);
      return true;
    }else{
      return false;
    }
  }else{
    return false;
  }
}
// var_dump(zip_file('22.txt'));
// func_get_args
// test1.zip
Nach dem Login kopieren

Beispiel 2: Mehrere Dateien komprimieren

/**
 * 多文件压缩
 * @method zip_files
 * @param  string    $zipName 压缩包的名称,.zip结尾
 * @param  string     $files   需要压缩文件名,可以是多个
 * @return boolean             true|false
 */
function zip_files(string $zipName,...$files){
  //检测压缩包名称是否正确
  $zipExt=strtolower(pathinfo($zipName,PATHINFO_EXTENSION));
  if('zip'!==$zipExt){
    return false;
  }
  $zip=new ZipArchive();
  if($zip->open($zipName,ZipArchive::CREATE|ZipArchive::OVERWRITE)){
    foreach($files as $file){
      if(is_file($file)){
        $zip->addFile($file);
      }
    }
    $zip->close();
    return true;
  }else{
    return false;
  }
}
// var_dump(zip_files('test1.zip','22.txt'));
// var_dump(zip_files('test2.zip','doUpload.php','downLoad.html','upload.html'));
Nach dem Login kopieren

Ähnliches Video Tutorials Empfohlen: „PHP-Tutorial

Das obige ist der detaillierte Inhalt vonWie dekomprimiere und komprimiere ich PHP-Dateien? (Codebeispiel). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage