Мой телефон даёт фотографиям имена в английском формате даты (сначала месяц):
<месяц><число><год><час><минута><секунда>.jpg
Само собой, куча сделанных снимков после копирования на компьютер (по умолчанию стоит упорядочивание файлов по имени) оказывается отсортированной по месяцу: январь прошлого года, январь текущего года, февраль позапрошлого года, февраль прошлого года, февраль текущего года… Это не очень хорошо, учитывая тот факт, что любому нормальному человеку хочется видеть в фотографий в хронологическом порядке. Да чего любезничать — это очень плохо, ребят.
Конечно, нужно отдать должное разработчикам, что имена фотографиям не присваиваются в формате:
<число><месяц><год><час><минута><секунда>.jpg
Но эта милость программистов, скорее всего, обусловлена тем, что в моём телефоне нет русского языка, в котором дата обычно записывается как раз в формате день.месяц.год. Иначе я бы получил полностью бесполезный список, в котором сначала шли бы фотки за первые числа всех месяцев всех лет, потом за вторые числа всех месяцев всех лет, и так далее.
Чтобы исправить ситуацию, я недавно написал небольшой скрипт, который переименовывает фотографии по следующему шаблону:
<год>-<месяц>-<число>_<час>-<минута>-<секунда>.jpg
Таким образом, при обычной сортировке файлов по имени мы получаем упорядоченные в хронологическом порядке фотографии без скачков дат туда-сюда.
Как оказалось немалая часть моделей телефонов делает такую гадость, поэтому скрипт может оказаться полезным не только мне. При запуске необходимо передать список файлов для переименования:
$ php tel-photo-ren.php 010109003000.jpg 010110003000.jpg 010111003000.jpg
или:
$ php tel-photo-ren.php Фотографии/фото-с-телефона/*
В первом случае на выходе получим три фотографии с более-менее понятными именами:
Во втором случае скрипт переименует все фотографии в папке фото-с-телефона.