http://ru2.php.net/manual/ru/book.zip.php http://ru2.php.net/manual/ru/ref.zlib.php http://ru2.php.net/manual/ru/book.rar.php
PHP: $zip = new ZipArchive; if($zip->open($path.'/'.$file) === TRUE) { $zip->extractTo($topath); $zip->close(); }
PHP: /** * Распаковывает zip-архив в указанный каталог. * $dir - полный путь к каталогу. * $file - полный путь к zip-архиву. */ function unpackZip($dir, $file) { //echo "Start unpack [$file] into [$dir] directory... <br>"; if ($zip = zip_open($file)) { if ($zip) { // создать каталог, если он не существует if (! file_exists($dir)) mkdir($dir); while ($zip_entry = zip_read($zip)) { $name = zip_entry_name($zip_entry); //echo " <b>unpack </b>: $name <br>"; // последний символ имени $last = substr($name, strlen($name)-1); // если это каталог if ($last == "/" || $last == "\\") { $subdir = $dir."/".$name; // создать каталог, если он не существует if (! file_exists($subdir)) mkdir ($subdir); } else { // распаковать файл if (zip_entry_open($zip,$zip_entry,"r")) { $buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry)); $fp=fopen($dir."/".zip_entry_name($zip_entry),"w"); fwrite($fp,$buf); zip_entry_close($zip_entry); } else { return false; } } } zip_close($zip); } } else { return false; } return true; }