Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   распаковать архив через php (https://forum.antichat.xyz/showthread.php?t=123513)

m-Xacker 04.06.2009 00:08

распаковать архив через php
 
Народ подскажите где скачать скрипт распаковки архива через пхп? Архив 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

PHP код:

    $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

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 "&nbsp;&nbsp;&nbsp;<b>unpack </b>: $name <br>";

               // последний символ имени
               
$last substr($namestrlen($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_entryzip_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;




Время: 14:46