Можно ли сортировать каталоги внутри zip-архива при его создании?

Я создаю zip с несколькими каталогами, содержащими файлы внутри. Когда я создаю zip, я отсортировал свои файлы и каталоги. Когда я открываю свой zip-архив, кажется, что каталоги сортируются в алфавитно-цифровом порядке, что бы я ни делал, поэтому моя сортировка игнорируется. Это нормально или я что-то упускаю?

Зачем такой "заказ" даже иметь значение?

04FS 07.06.2019 14:19

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

Jules 07.06.2019 14:27

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

Jules 07.06.2019 14:29

До сих пор не понимаю, зачем это нужно… Моя программа, с помощью которой я открываю zip-файлы, позволяет мне сортировать по столбцам, которые я хочу в предварительном просмотре содержимого, и после того, как я распаковал ваш zip-файл, я смогу сортировать по любому столбцу. по моему выбору в проводнике либо …

04FS 07.06.2019 14:29

Да, но свойство находится внутри каждого файла. Каждый файл представляет сущность со свойством даты. Я извлекаю свои объекты и сортирую их на основе этого свойства даты. Затем я зацикливаюсь на своем массиве сущностей и создаю каждый каталог (с файлом внутри и некоторыми вложениями), затем я вставляю каталог в zip-архив.

Jules 07.06.2019 14:32

Под «открытием» вы подразумеваете использование графического интерфейса программы, такого как 7zip, winrar или что-то еще? Или распаковать его через скрипт или что-то еще? Потому что, если это первое, то это, вероятно, связано с сортировкой по умолчанию, которую эти программы применяют с самого начала, и имеет мало общего с фактическим содержимым ZIP-файла…

04FS 07.06.2019 14:32
«Да, но свойство находится внутри каждого файла» — и вы ожидаете, что ваш файловый менеджер будет волноваться об этом, после извлекает файлы?
04FS 07.06.2019 14:33

Я использую базовый zip-менеджер Ubuntu (16.04). Если проблема исходит от менеджера, это бессмысленно, потому что zip создается для пользователя.

Jules 07.06.2019 14:35

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

Jules 07.06.2019 14:36
«когда я создаю zip-архив, мои файлы и каталоги должны быть отсортированы правильно» - но опять зачем? После того, как пользователь распаковал ваш ZIP-файл, почему порядок внутри в нем все еще имеет значение?
04FS 07.06.2019 14:40

Пользователь хочет, чтобы первым каталогом был тот, который содержит файл с самой последней строкой «дата создания» внутри. Потому что, если у него есть 5000 каталогов, он не хочет открывать их все, чтобы найти самые последние. И эта сортировка должна быть сделана на стороне сервера ("дата создания" - это свойство сущности, преобразованное в файл), но какой в ​​этом смысл, если мой менеджер сам сортирует каталоги.

Jules 07.06.2019 14:48
«но какой смысл, если мой менеджер сам сортирует каталоги» — почти все в любой программе, где вы читаете содержимое какой-либо директории, применяет собственную (настроенную пользователем) сортировку при отображении результатов. С программами, используемыми для открытия ZIP-файлов, это, вероятно, не сильно отличается. Ваша основная проблема здесь заключается в том, что вы хотите сохранить произвольный порядок в месте, которое либо не имеет доступа к вашему критерию сортировки, либо не заботится о нем.
04FS 07.06.2019 15:02

Вам нужно либо отразить эту сортировку в чем-то, к чему обращается программа просмотра могу, например, в именах файлов, либо переработать спецификации. Работа с файлами в каталогах размером 5 КБ не выглядит так, будто это была хорошо спланированная система с самого начала.

04FS 07.06.2019 15:02

спасибо за ваше время, я, вероятно, изменю имена каталогов

Jules 07.06.2019 15:51
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
14
47
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

В имени файлов используйте дату в формате Год-Месяц-День, в этом формате файлы будут сортироваться по возрастанию, например

20190506_file
20190506_file

Если вы добавите файл «20180506», он будет в начале.

20180506_file
20190506_file
20190506_file

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

Jules 07.06.2019 14:58

Другие вопросы по теме