|
|
|
| такая проблема, лежит на хосте архив, который занимает 2.5 Mb ни одним online ftp не могу его разархивировать... подскажите как это сделать? может есть в php ф-я которая может это сделать? | |
|
|
|
|
|
|
|
для: Krasnodar
(28.11.2006 в 18:04)
| | если архив zip
<?php
if (empty($_GET['file'])) {
echo "Не указан файл для распаковки!";
exit;
} elseif (!file_exists($_GET['file'])) {
echo "Не найден файл <b>".$_GET['file']."</b>";
exit;
} elseif (!eregi(".zip", $_GET['file'])) {
echo "Поддерживаются только <b>.zip</b> файлы";
exit;
}
$zip = zip_open($_GET['file']);
$folder = substr(str_replace("\\", "/", __FILE__), 0, strrpos(str_replace("\\", "/", __FILE__), "/"))."/";
echo "Папка <b>".$folder."</b><br />\n";
$files = 0;
$folders = 0;
if ($zip) {
while ($zip_entry = zip_read($zip)) {
echo "<br />\n";
$name = $folder . zip_entry_name($zip_entry);
echo $name;
if($name[strlen($name) - 1] == '/') {
mkdir($name, 0755);
$folders++;
} elseif (zip_entry_open($zip, $zip_entry, "r")) {
$buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
$file = fopen($name, "w");
if ($file) {
fwrite($file, $buf);
fclose($file);
$files++;
} else {
echo "Ошибка при открытии файла <b>".$name."</b>";
}
zip_entry_close($zip_entry);
}
}
echo "Готово! Разархивировано <b>".$files."</b> файлов и <b>".$folders."</b> папок";
zip_close($zip);
} else {
echo "Ошибка при открытии архива!";
}
?>
|
однако для этого нужна библиотека php_zip | |
|
|
|