Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
 Аватар для dnbdrive
0 / 0 / 3
Регистрация: 04.09.2012
Сообщений: 16

Вывод списка файлов с последующей сортировкой

04.09.2012, 14:02. Показов 2127. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток.
Нужна помощь в доработке одного скрипта. (говорю сразу, в php я новичок)

В директории есть большое количество файлов, которые именуются следующим типом:
db_01.02.2012.txt, где 01 - число, 02 - месяц, 03 - год.

Необходимо чтобы список выводился отсортированным по месяцам, то-есть таком образом:
01.01.2012
02.01.2012
03.01.2012
...
01.02.2012
02.02.2012
03.02.2012
и т.д.


Пока реализован следующий способ вывода:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
        $dh = opendir("db/transfer/"); # Папка, где находятся файлы
        echo "<h2>Выберите интересующий вас файл:</h2> <ul>";
        $dirct = './report.php?go=transfer&filedb='; # Ссылка на просмотр файла
        $files = array();
        while ($row = readdir($dh)) 
        {
            if ($row != '.' && $row != '..')
            {
                $files[] = $row;
            }
        }
        closedir($dh); 
        foreach ($files as $value) 
        {
            $month = mb_substr($value,6, 2);
            $filename = mb_substr($value,3, 10);
            echo "<li><a href = $dirct$value>$filename</a> / $month</li>"; # Выводится ссылка / месяц
        } 
        echo "</ul>";
Просьба помочь, а то голову уже сломал (
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.09.2012, 14:02
Ответы с готовыми решениями:

Формирование списка файлов с последующей упаковкой в архив
Подскажите код для формирование списка файлов с последующей упаковкой в архив. Тип файлов не важен, например /txt. Возможно ли решать...

Фильтрация в StringGrid с последующей сортировкой
Здравствуйте, есть StringGrid, 1 строка заполняется рандомно цифрами от 25 до 75. Далее 1 строка копируется на 2 строку и в ней нужно...

Вывод имен файлов с обратной сортировкой по дате
Помогите с задачкой пожалуйста! Задача: 2. Создать в каталоге c:\temp\FamiliaStudenta BAT-файл, записывающий в файл...

5
67 / 60 / 25
Регистрация: 05.05.2009
Сообщений: 131
04.09.2012, 15:09
PHP
1
2
3
4
5
6
7
8
9
10
11
$files = array();
while ($row = readdir($dh)) 
{
    if ($row != '.' && $row != '..')
    {
        $key = str_replace(array('db_', '.txt'), '', $row);
        $files[strtotime($key)] = $row;
    }
}
closedir($dh);
ksort($files);
1
 Аватар для dnbdrive
0 / 0 / 3
Регистрация: 04.09.2012
Сообщений: 16
04.09.2012, 15:37  [ТС]
Спасибо!
то, что нужно

Еще вопрос, есть ли возможность сделать разделение по месяцам, то есть следующим образом:

01 месяц
01.01.2012
02.01.2012
03.01.2012

02 месяц
01.02.2012
02.02.2012
03.02.2012
0
19 / 19 / 4
Регистрация: 12.07.2012
Сообщений: 92
04.09.2012, 16:28
можно тогда вообще уже по полочкам их разложить ))

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$files = array();
while ($row = readdir($dh)) 
{
    if ($row != '.' && $row != '..')
    {
        $key = str_replace(array('db_', '.txt'), '', $row);
        $key = explode('.', $key);
        $month = $key[1];
        $year = $key[2];
        $files[$year][$month] = $row;
    }
}
closedir($dh);
 
foreach($files as $year => $year_files){
    print_r("$year year:");
    foreach($year_files as $month => $month_files){
           print_r("$month:");
           foreach($month_files as $filename){
                   print_r($filename);}}}
1
 Аватар для dnbdrive
0 / 0 / 3
Регистрация: 04.09.2012
Сообщений: 16
04.09.2012, 17:30  [ТС]
Спасибо.
Привел код к такому виду:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
        $files = array();
        while ($row = readdir($dh)) 
        {
            if ($row != '.' && $row != '..')
            {
                $key = str_replace(array('db_', '.txt'), '', $row);
                $key = explode('.', $key);
                $month = $key[1];
                $year = $key[2];
                $files[$year][$month] = $row;
            }
        }
        closedir($dh);
        foreach($files as $year => $year_files){
            print_r("$year year:<br />"); // выводим год
            foreach($year_files as $month => $month_files){
                print_r("$month:<br />"); // выводим месяц
                foreach($month_files as $filename){         
                print_r($filename);             
                }
            }
        }
Вывод года и месяцев работают, а списка файлов нет.
Я что-то забыл?
0
 Аватар для dnbdrive
0 / 0 / 3
Регистрация: 04.09.2012
Сообщений: 16
06.11.2012, 12:25  [ТС]
Народ!
Есть ли у кого-нибудь еще идеи?
Как вывести список файлов уже ума не приложу
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.11.2012, 12:25
Помогаю со студенческими работами здесь

Считывание из тхт файла с последующей сортировкой данных
Помогите пожалуйста, мне надо сделать считывание из файла, одна строка &quot;пто656длвпор523опд&quot;. Но только так, чтобы потом оно...

Добавление элементов в динам. массив с последующей сортировкой
Всем доброго времени суток. Можно ли как-нибудь добавлять элементы в динам. массив? Т.е. у меня массив string (фамилии) в алфавитном...

Считать даты из файла и внести их в список с последующей сортировкой
Почему-то данная реализация считывает каждую вторую строку файла: file : 04.09.2004 06.07.2009 11.08.2016 16.09.2007 30.08.2015...

Как сделать слияние двух списков с последующей сортировкой?
Даны два списка. Необходимо слить два списка в один, отсортировать по убыванию и вывести. Вводится целое число N и N чисел со...

Запрос в две таблица на получение суммы столбца с последующей сортировкой
Добрый день! Очень сильно прошу всех помочь в решении следующей задачи. У меня есть две таблицы: `tasks` (`id`, `name`,...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 23.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru