Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Разархивировать RAR
 
 автор: andrey215   (14.03.2012 в 10:38)   письмо автору
 
 

Здравствуйте всем!
Подскажите пожалуйста как из архива RAR вытащить файлы?
Возможно ли эту задачу выполнить средствами PHP?
Заранее спасибо!

  Ответить  
 
 автор: Slo_Nik   (14.03.2012 в 15:24)   письмо автору
 
   для: andrey215   (14.03.2012 в 10:38)
 

[поправлено модератором]

  Ответить  
 
 автор: task   (14.03.2012 в 15:31)   письмо автору
 
   для: Slo_Nik   (14.03.2012 в 15:24)
 

Это не отвечает на вопрос.
А чтобы распаковать RAR, нужно иметь установленное расширение и использовать php функции для работы с rar.

  Ответить  
 
 автор: Slo_Nik   (14.03.2012 в 15:34)   письмо автору
 
   для: task   (14.03.2012 в 15:31)
 

Ещё как отвечает, первая статья(ссылка) о том как создать архив,
следующая статья(ссылка) по теме как раз о том, как извлечь файлы....
Надеюсь что пипл догадается ознакомиться с двумя статьями
Вернее там список ссылок, пусть выбирает, какая статья ему больше подойдёт.

p.s. и если уж на то пошло, то А чтобы распаковать RAR, нужно иметь установленное расширение и использовать php функции для работы с rar тоже не ответ на вопрос....

  Ответить  
 
 автор: task   (14.03.2012 в 15:49)   письмо автору
 
   для: Slo_Nik   (14.03.2012 в 15:34)
 

А что еще отвечать? Расширение для работы с rar доступны для скачивания и сущесутвуют как для win, так и для unix платформ, а функции работы с этим массивом практически ничем не отличаются от zip (в смысле действий - открыть арив, распаковать арив), оличие лишь в том, что rar можно только распаковать.
Коли автору надо, пусть скачивает и устанавливает расширение, остается заглянуть в мануал и работа сделана.

  Ответить  
 
 автор: Slo_Nik   (14.03.2012 в 16:07)   письмо автору
 
   для: task   (14.03.2012 в 15:49)
 

А что еще отвечать?

Написать названия функции или дать ссылку на статью или на раздел руководства пользователя или уж если есть желание, то дать решение в виде кода...Потому что, как я понял, задав вопрос в виде "можно ли это сделать средствами php", человек не догадывается о существовании данной возомжности/функции... Поэтому ссылка на статьи в самый раз

  Ответить  
 
 автор: task   (14.03.2012 в 16:25)   письмо автору
 
   для: Slo_Nik   (14.03.2012 в 16:07)
 

То есть сделать по вашему - вы ссылку на Гугля, а мне ссылку на мануал рhp? )
В мануале все сказано, и где скачать расширение и как распаковать. А ваша ссылка для работы с zip архивами.
Средствами php нельзя ничего сделать с продуктами, которые не созадаются самим php, думаю это понятно, и уже должно наводить на мысль о том, что нужна некая библиотека в таком случае.
Нужно только поинтересоваться так ли это, и если да, то какая.
Ну и исключительно для ленивых:

Введение
Rar - это мощный и эффективный архиватор, созданный Eugene Roshal. Данное расширение позволяет читать Rar архивы, однако не дает возможности их записывать так как эта операция не поддерживается библиотекой UnRar и напрямую запрещена условиями ее лицензии.

Больше информации о Rar и UnRar можно найти здесь:» http://www.rarlabs.com/.

Требования
Эти функции всегда доступны.

Настройка во время выполнения
Данное расширение не определяет никакие директивы конфигурации в php.ini.

Установка
Расширение Rar в настоящее время доступно в PECL » http://pecl.php.net/package/rar.

Вы также можете воспользоваться установщиком PECL, чтобы установить расширение Rar. Для этого необходимо использовать команду: pecl -v install rar.

Также вы можете скачать архив tar.gz и установить Rar вручную:

Пример 1965. Установка Rar

gunzip rar-xxx.tgz
tar -xvf rar-xxx.tar
cd rar-xxx
phpize
./configure && make && make install

Пользователи Windows могут скачать расширение в виде библиотеки dll php_rar.dll здесь: » http://snaps.php.net/win32/PECL_STABLE/.

rar_open - открывает rar архив
rar_entry_get - возвращает объект из rar архива
Rar::extract - извлекает элемент из архива

  Ответить  
 
 автор: andrey215   (15.03.2012 в 16:07)   письмо автору
 
   для: task   (14.03.2012 в 16:25)
 

если кому то понадобится
установить самому дополнительные расширения на сервер у меня не получилось, наверное руки не из того места )))))) мне поставили ребята из техподдержки.
А скрипт выглядит, например, так

function DeArhiveRAR($FileName,$Folder)//1 параметр - имя архива, 2 параметр - папка куда распаковывать
{
    $rar_file = rar_open($FileName) or die("Невозможно открыть RAR архив");
    $entries = rar_list($rar_file);

    foreach ($entries as $entry)
    {
        echo 'Файл: ' . $entry->getName() . "\n";
        echo 'Размер сжатого элемента: ' . $entry->getPackedSize() . "\n";
        echo 'Размер в распакованном состоянии: ' . $entry->getUnpackedSize() . "\n";

        $entry->extract($Folder);
    }

    rar_close($rar_file);
}

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования