PDA

Просмотр полной версии : распаковать архив через php


m-Xacker
04.06.2009, 00:08
Народ подскажите где скачать скрипт распаковки архива через пхп? Архив zip и tgz

rushter
04.06.2009, 00:13
http://webfile.ru/3673846

Sharky
04.06.2009, 00:34
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

m-Xacker
04.06.2009, 02:15
Спасибо за манулы, но мне бы готовый скрипт, где бы можно было выбрать архив и место распаковки.

Sharky
04.06.2009, 08:23
что жн лень с людьми творит....даты сам этот скрипт за 10 минут напишешь

ReduKToR
04.06.2009, 08:30
есть даже сервис онлайн распаковки......адрес непомню
Sharky,ну тык всегда так =)

Doom123
04.06.2009, 08:34
$zip = new ZipArchive;
if($zip->open($path.'/'.$file) === TRUE)
{
$zip->extractTo($topath);
$zip->close();
}

попугай
04.06.2009, 10:52
system('unzip file.zip -d /tmp');

ReduKToR
05.06.2009, 18:33
/**
* Распаковывает 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 "&nbsp;&nbsp;&nbsp;<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;
}