ホームページ >バックエンド開発 >PHPチュートリアル >PHPファイル圧縮パッケージ
この記事は主に PHP ファイルの圧縮パッケージを紹介します。これは、必要な友人に参照してもらうために共有します。
質問: 現在のパスにあるすべてのファイル (フォルダーを含む) のみを圧縮パッケージに圧縮したいのですが、その方法がわかりません。教えてください、ありがとう!
/** * 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!'); } }
関連する推奨事項:
PHP ファイルを zip に簡単にパッケージ化してダウンロードするための数行のコードPHP ファイルのロックにより、マルチスレッド書き込みの安全性が保証されます以上がPHPファイル圧縮パッケージの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。