Код?... Это просто!
php js Jquery JsPhp blog
ТЕГИ:
php (100)
js (87)
php date (19)
online (14)
html (14)
js slice (13)
js array (11)
encode (11)
js date (10)
php array (10)
hash (10)
info (7)
dosite (7)
php img (7)
jsphp (6)
Показать еще :

Пронумеровать файлы в папке

"нумерация файлов в папке". Как получить следующий номер в папке файлов. Если нарушена нумерация получить номер файла в середине. И естественным образом, если нумерация в папке нормальная, то нам потребуется получить последний номер файла +1.

Подробно о нумерации файлов в папке.

  1. Зачем нужно нумеровать файлы в папке?
  2. Алгоритм нумерации файлов в папке?
  3. Работа функции для нумерации файлов.
  4. Пример нумерации файлов.
  5. 1). Нумерации файлов не хватает в начале.
    2). Нумерации файлов не хватает в середине.
    3). Нумерации файлов не хватает в конце.
  6. Скачать функцию для нумерации файлов.
  1. Зачем нужно нумеровать файлы в папке?

    Первый вопрос, который может задать человек, который не в курсе - зачем вообще "нужно нумеровать файлы в папке".

    Итак...

    Самое простое и первое, что приходит на ум - зачем "нужно нумеровать файлы в папке"...

    Предположим, что у вас есть страница, ну например с названием "numeratsiya_faylov_v_papke.html" и вам нужно сохранять на этой странице картинки под аналогичным названием например:

    numeratsiya_faylov_v_papke.jpg

    Вторую картинку, которую вы собираетесь сохранить под таким же названием... но она тогда перезапишется на предыдущую картинку...

    Логично... добавить номер, например порядковый...

    numeratsiya_faylov_v_papke_1.jpg

    И так далее... следующий номер файла будет:

    numeratsiya_faylov_v_papke_2.jpg

    Зачем нужно так заморачиваться с нумерацией файлов в папке?

    Вы может резонно задать вопрос - "Зачем нужно так заморачиваться с нумерацией файлов в папке" - когда можно ... например ставить число + часы+ секунды...

    Ответ: Зачем нужно так заморачиваться с нумерацией файлов в папке?

    Почему я использую нумерацию файлов в папке?

    За все время внутри weba c2009 года я перебрал множество вариантов.

    Название с номером выглядит лучше и визуально и для поисковика.

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

  2. Алгоритм нумерации файлов в папке?

    Если с вопросом "Зачем нужно нумеровать файлы в папке" разобрались... теперь, прежде чем подходить к коду, нам нужно подумать об алгоритме программы, который нам нужен,чтобы правильно работала "нумерация файлов в папке".

    Нам нужно:

    Получить всё содержимое папки, чтобы понимать, какие файлы есть, каких нет. Другими словами мы получим список всех файлов.

    Наша нумерация файлов будет в самом начале названия файла и будет отделяться от названия файла с помощью нижнего подчеркивания "_". Для того, чтобы отделить номер от названия файла нам потребуется соответствующая функция. Из полученного массива нам получить первый элемент массива(где и будет наш номер) используем current.

    Этот код помещаем в цикл, который переберет весь список файлов.

    Следующим шагом... внутри цикла создадим новый массив со всеми номерами файлов.

    Поскольку вы не знаете, как отсортируются файлы, лучше перебдеть и отсортировать полученный массив по порядку:

    sort($new_array);
    Половина дела сделана...

    Итак... вы получили все номера файлов в папке. Что дальше? А дальше у нас есть два варианта развития алгоритма:

    Если нумерация файлов не нарушена, ну т.е. примерно так: 0,1,2,3,4,5,6, то нужно, чтобы следующий номер файла был - последний плюс 1 : х = номер массива + 1.

    И если нумерация файлов нарушена, например так : 0,1,3,4,5,6, поскольку php не сможет узнать в точке номер "1" узнать, что не хватает "2", а сможет это узнать только, когда пройдет эту точку и окажется на номере "3", то мы получим не хватающий "номер файла" х = 3 - 1.

    И собственно... вам остается написать данный алгоритм создания нумерации файлов в коде.

    Обращаю ваше внимание!

    Алгоритм не будет работать, если изначально или по случайности в папку попадает файл без нумерации!

  3. Работа функции для нумерации файлов.

    Функцию для "нумерации файлов в папке" я написал - теперь нам нужно описать, как использовать данную функцию!

    Нам потребуется

    У нас возможны три варианта нехватки нумерации файлов в папке:

    Первая нехватка нумерации в самом начале списка файлов.

    Нехватка нумерации файлов в папке в середине списка.

    И соответственно последний вариант нехватки нумерации - это в конце списка, т.е. следующий по счету номер файла.

    На каждый из представленных вариантов я создами отдельную папку:

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

    Получаем путь до папки:

    $_SERVER['DOCUMENT_ROOT']. '/example/numeric_files/ex'

    Помещаем упть в функцию:

    next_num( $_SERVER['DOCUMENT_ROOT']. '/example/numeric_files/ex' )

    Выводим с помощью echo :

    echo next_num( $_SERVER['DOCUMENT_ROOT']. '/example/numeric_files/ex' )
  4. Пример нумерации файлов.

    Выше я перечислили три варианта нумерации файлов в папке.

    1). Нумерации файлов не хватает в начале.

    На первом примере разберем подробно с кодом и пояснениями...

    Начнем нумерацию файлов в папке, чтобы она начиналась не с нуля, выше я показывал создание пути и вывод списка файлов, выведем с помощью print_r - зачем? :

    print_r(scandir($_SERVER['DOCUMENT_ROOT']. '/example/numeric_files/ex') );
    Результат :

    Array

    (

    [0] => .

    [1] => ..

    [2] => 001_example.dat

    [3] => 002_example.dat

    )

    Далее работа функции нумерации файлов в папке:

    echo next_num( $_SERVER['DOCUMENT_ROOT']. '/example/numeric_files/ex' )

    Результат:

    000

    2). Нумерации файлов не хватает в середине.

    Подробное описание смотри выше пунктом(подпункт 1).

    Файлы:

    Array

    (

    [0] => .

    [1] => ..

    [2] => 000_example.dat

    [3] => 002_example.dat

    )

    Работа функции "нумерации файлов:

    001

    3). Нумерации файлов не хватает в конце.

    Подробное описание смотри выше пунктом(подпункт 1).

    Файлы:

    Array

    (

    [0] => .

    [1] => ..

    [2] => 000_example.dat

    [3] => 001_example.dat

    )

    Работа функции "нумерации файлов:

    002
  5. Скачать функцию для нумерации файлов.

    Самое главное!!! Помним о спасибо!

    И забирайте код!

    Что в архиве?

    В архиве папка "numeric_files" с файлом "numeric_files.php" и тремя папками.

    Что делать с архивом?

    Скачали архив.

    Бросаем на сервер.

    Создали путь:

    https://ваш_сайт.ru/путь_до_папки/numeric_files/numeric_files.php

    Открываем полученную страницу:



Теги:

нумерация файлов в папке

как сделать нумерацию файлов в папке

нумерация файлов в папке по порядку

как сделать чтоб показывало порядковый номер файла в папке

jsphp.ru есть здесь:
Полезные ссылки:
ruweb
Я писал немного о ruweb.net!
Помочь проекту JsPhp.ru

Что можно сделать!?

Поделиться ссылкой! C друзьями или врагами!


Помочь проекту JSPHP.RU: Помочь проекту JSPHP.RU прокомментировать :

Скоро...


Мои Проекты :

Скоро...



О хостинге :

Скоро...


© jsphp.ru 2023 - 2024 , Аминев Марат. Контакты
Страница загружена за : 0.009463 секунд.