Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» PHP: Архивация директории

Автор: Laroux
Дата сообщения: 19.11.2013 13:59
Задача довольно простая: есть на хостинге много каталогов с n-ным количеством файлов (до 15 штук) каждый. Файлы с разными расширениями.
Время от времени мне надо брать все содержимое какого-нить одного такого каталога к себе на локальную машинку. Не могу сообразить, как бы мне забрать из каталога все одним файлом, но так, чтобы архив не сохранялся.

Создать сам архив - не проблема. Например:

<?PHP
$pathdir='test/'; // путь к папке, файлы которой будем архивировать
$nameArhive = 'test.zip'; //название архива
$zip = new ZipArchive; // класс для работы с архивами
if ($zip -> open($nameArhive, ZipArchive::CREATE) === TRUE){ // создаем архив, если все прошло удачно продолжаем
$dir = opendir($pathdir); // открываем папку с файлами
while( $file = readdir($dir)){ // перебираем все файлы из нашей папки
if (is_file($pathdir.$file)){ // проверяем файл ли мы взяли из папки
$zip -> addFile($pathdir.$file, $file); // и архивируем
echo("Заархивирован: " . $pathdir.$file) , '<br/>';
}
}
$zip -> close(); // закрываем архив.
echo 'Архив успешно создан';
}else{
die ('Произошла ошибка при создании архива');
}
?>

однако при таком раскладе:
1) архив останется где-то там на хостинге. А как бы не надо;
2) придется делать еще один клик мышкой по полученной ссылке на архив. А хотелось бы по одному клику сразу скачать...

Подскажите, плиз
Автор: Laroux
Дата сообщения: 13.12.2013 14:58
Ответ тут http://forum.php.su/topic.php?forum=75&topic=2719
Автор: Cheery
Дата сообщения: 14.12.2013 00:50
Laroux
Вебпрограмминг в другом разделе, вообще то.

Цитата:
Не могу сообразить, как бы мне забрать из каталога все одним файлом, но так, чтобы архив не сохранялся.

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

Страницы: 1

Предыдущая тема: Delphi написание программ под Android


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.