распаковать архив через php

Discussion in 'PHP' started by m-Xacker, 4 Jun 2009.

  1. m-Xacker

    m-Xacker Elder - Старейшина

    Joined:
    17 Jun 2008
    Messages:
    111
    Likes Received:
    10
    Reputations:
    0
    Народ подскажите где скачать скрипт распаковки архива через пхп? Архив zip и tgz
     
  2. Sharky

    Sharky Elder - Старейшина

    Joined:
    1 May 2006
    Messages:
    487
    Likes Received:
    312
    Reputations:
    46
    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
     
  3. m-Xacker

    m-Xacker Elder - Старейшина

    Joined:
    17 Jun 2008
    Messages:
    111
    Likes Received:
    10
    Reputations:
    0
    Спасибо за манулы, но мне бы готовый скрипт, где бы можно было выбрать архив и место распаковки.
     
  4. Sharky

    Sharky Elder - Старейшина

    Joined:
    1 May 2006
    Messages:
    487
    Likes Received:
    312
    Reputations:
    46
    что жн лень с людьми творит....даты сам этот скрипт за 10 минут напишешь
     
  5. ReduKToR

    ReduKToR Active Member

    Joined:
    5 Jan 2009
    Messages:
    257
    Likes Received:
    179
    Reputations:
    4
    есть даже сервис онлайн распаковки......адрес непомню
    Sharky,ну тык всегда так =)
     
  6. Doom123

    Doom123 Elder - Старейшина

    Joined:
    11 Nov 2006
    Messages:
    749
    Likes Received:
    244
    Reputations:
    22
    PHP:
        $zip = new ZipArchive;
        if(
    $zip->open($path.'/'.$file) === TRUE)
        {
            
    $zip->extractTo($topath);
            
    $zip->close();
        }
     
    1 person likes this.
  7. попугай

    попугай Elder - Старейшина

    Joined:
    15 Jan 2008
    Messages:
    1,515
    Likes Received:
    400
    Reputations:
    196
    system('unzip file.zip -d /tmp');
     
    1 person likes this.
  8. ReduKToR

    ReduKToR Active Member

    Joined:
    5 Jan 2009
    Messages:
    257
    Likes Received:
    179
    Reputations:
    4
    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;
    }