Просмотр полной версии : распаковать архив через php
m-Xacker
04.06.2009, 00:08
Народ подскажите где скачать скрипт распаковки архива через пхп? Архив zip и tgz
http://webfile.ru/3673846
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
Спасибо за манулы, но мне бы готовый скрипт, где бы можно было выбрать архив и место распаковки.
что жн лень с людьми творит....даты сам этот скрипт за 10 минут напишешь
ReduKToR
04.06.2009, 08:30
есть даже сервис онлайн распаковки......адрес непомню
Sharky,ну тык всегда так =)
$zip = new ZipArchive;
if($zip->open($path.'/'.$file) === TRUE)
{
$zip->extractTo($topath);
$zip->close();
}
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 " <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;
}
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot