Heim >Backend-Entwicklung >PHP-Tutorial >Komprimiertes PHP-Dateipaket
Dieser Artikel stellt hauptsächlich das Komprimierungspaket von PHP-Dateien vor. Es hat einen gewissen Referenzwert. Jetzt kann ich es mit allen Freunden teilen, die es benötigen.
Frage: Ich möchte nur alle Dateien (einschließlich Ordner) unter dem aktuellen Pfad in ein komprimiertes Paket komprimieren. Ich weiß nicht, wie das geht Ich hoffe, jemand mit Kenntnissen kann es mir sagen, danke!
/** * add path to zip * Here, I want to add all the files under the current path, but I don't know how to add it, I want to get help, thank you! * @param $path * @param $zip */ public static function addDirectoryToZip($path, $zip) { self::createPath([$path, $zip]); $zipObj = new \ZipArchive(); if ($zipObj->open($zip, \ZipArchive::CREATE) === TRUE) { $handler = opendir($path); while (($filename = readdir($handler))) { if ($filename != "." && $filename != "..") { $tem_path = $path . DIRECTORY_SEPARATOR . $filename; if (is_dir($tem_path)) { self::addDirectoryToZip($tem_path, $zip); } else { $zipObj->addFromString(iconv('gbk', 'utf-8', $tem_path), file_get_contents($tem_path)); } } } @closedir($path); $zipObj->close(); } } /** * Create a or more path * @param $path */ public static function createPath($path) { if (is_array($path)) { foreach ($path AS $v) { if (!is_array($v)) { self::createOnePath($v); } else { die('Must be a one-dimensional array!'); } } } else { self::createOnePath($path); } } /** * Create a path * @param $path */ public static function createOnePath($path) { $path = strpos(basename($path), '.') ? dirname($path) : $path; if (!is_dir($path)) {//nonexistion path mkdir($path, 0777, true) ? '' : die('Creation path failed!'); } }
Verwandte Empfehlungen:
Ein paar Zeilen Code zum einfachen Verpacken und Herunterladen von PHP-Dateien in ZipPHP-Dateisperre sorgt für Multi -Threaded Writing SafeDas obige ist der detaillierte Inhalt vonKomprimiertes PHP-Dateipaket. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!