Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
23 / 23 / 11
Регистрация: 04.12.2012
Сообщений: 579

Сокращение пути в архиве через PHP

14.10.2016, 15:57. Показов 778. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Получаю через ftp файлы книги, загружаю их себе на сервер в папку temp. Потом необходимо собрать архив и отдать его на скачивание пользователю. Подскажите, как можно сделать так, чтобы путь в архиве был коротким? Сейчас он такой:

Наименование архива.zip -> temp -> Номер книги (например, 100) -> все файлы книги

Как можно сделать такой путь?

Наименование архива.zip -> все файлы книги

Код следующий:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
    $url = 100;
    $file_folder = "temp/$url/"; // папка с файлами
 
    if(extension_loaded('zip')) { // Если загружено расширение
      $zip = new ZipArchive(); // подгружаем библиотеку zip
      $zip_name = "Наименование архива.zip"; // имя файла
 
      if($zip->open($zip_name, ZIPARCHIVE::CREATE)!==TRUE) {
        $error .= "* Sorry ZIP creation failed at this time";
      }
 
      for ($i=1;$i<=число файлов книги;$i++) {
        if ($i<10) {
          $file_num = "000$i.lkf";
        } else if ($i>9 && $i<100) {
          $file_num = "00$i.lkf";
        } else {
          $file_num = "0$i.lkf";
        }
 
        $zip->addFile($file_folder.$file_num); // добавляем файлы в zip архив
      }
 
      $zip->close();
 
      if(file_exists($zip_name)) {
        // отдаём файл на скачивание
        header('Content-type: application/zip');
        header('Content-Disposition: attachment; filename="'.$zip_name.'"');
        readfile($zip_name);
        
        // удаляем zip файл если он существует
        unlink($zip_name);
      }
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.10.2016, 15:57
Ответы с готовыми решениями:

Сокращение php кода
Здравствуйте. Скажите, пожалуйста, как можно сократить данный код: $p1='$p1'; $p2='$p2'; $p3='$p3'; $p4='$p4'; $p5='$p5'; ...

Сокращение тегов php
Привет! Я поставил себе всю софтину(phpmyadmin, php, mysql), и у меня возникает такая ошибка...но для начала код: &lt;!doctype...

Сокращение текста на php
Добрый день, есть код сокращение текста, сделал всего для вывода 6 символов но если у меня название всего ТРИ буквы то эти три точки...

2
119 / 116 / 63
Регистрация: 16.09.2016
Сообщений: 354
14.10.2016, 16:43
Попробуйте так:
PHP
1
 $zip->addFile($file_folder.$file_num,$file_num);
1
23 / 23 / 11
Регистрация: 04.12.2012
Сообщений: 579
14.10.2016, 17:54  [ТС]
Спасибо, то, что нужно)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.10.2016, 17:54
Помогаю со студенческими работами здесь

Вырезать середину строки от символа до символа и вставить туда точки (сокращение пути)
Здравствуйте. Имеется строка, которую получаю из комбобокса, формат, в основном, такой: C:\Documents and Settings\vvb\Рабочий стол\Sites ...

Отсутствует файл php.ini в zip-архиве, где его искать?
Необходимо установить MySql именно из zip-архива, сделать его портативным. У меня ОС Windows 10 (64bit). Зашел по ссылке...

Прошить планшет через прошивальщик под Линь в zip-архиве
Теперь и мой вопрос: Возникла необходимость прошить планшет, прошивальщик под Линь в zip-архиве, как и куда ставить ХЗ. Инстукция гласит...

Как посмотреть информацию о созданном архиве через командную строку
Подскажите пожалуйста как посмотреть информацию о созданном архиве через командную строку?

Сокращение пути к файлу, x:\path\path\...\path
Помогите с решением такой задачи, желательно до четверга)): Строка длиной не более 1000 символов содержит полный путь к файлу в формате...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru