извлечь файлы .rar в определенный каталог в php

Я хочу извлечь файл .rar, а не файл .zip, используя php. Я следовал этому примеру в руководстве по php.

руководство по php

проблема в этом руководстве заключается не в том, чтобы извлечь файлы в каталог, а в том, что содержимое файла выводится в браузер.


person Moauya Meghari    schedule 28.04.2016    source источник


Ответы (3)


Вы должны иметь возможность извлечь файлы из архива с помощью RarEntry::extract. метод.

Итак, что-то вроде:

$archive = RarArchive::open('archive.rar');
$entries = $archive->getEntries();
foreach ($entries as $entry) {
    $entry->extract('/extract/to/this/path');
}
$archive->close();
person Oldskool    schedule 28.04.2016
comment
это перезаписывает файлы? искал 2 часа, не нашел ни на php.net, ни здесь. Сам проверить не могу по ряду причин. - person Shiz; 23.09.2019
comment
Это подходит для нового формата rar? У меня есть rar, который может разобрать только winrar, но не 7zip. - person Scott Chu; 25.02.2021

кстати: extract предлагает перезаписать в качестве третьего параметра (второй - это массив путей для извлечения)

person Max    schedule 02.12.2019

в Laravel для извлечения файла rar

сначала
добавьте эту библиотеку в файл composer.json

введите здесь описание изображения



Второе:
в контроллере, чтобы использовать его

use RarArchive;

**Last:**
$archive = RarArchive::open(public_path('storage/') . $pathFile);
$entries = $archive->getEntries();
foreach ($entries as $entry) {
  $entry->extract(public_path('storage/project/newfolder1'));
}
$archive->close();
person Waad Mawlood    schedule 11.02.2021
comment
обновление скриншота улучшит качество вашего ответа - person Johny Pie; 11.02.2021
comment
@JohnyPie, спасибо, я сделал - person Waad Mawlood; 11.02.2021