Skip to content

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

PHP-sortphotos

PHP script to organize photos and videos into folders by date

It was inspired by Python script https://github.com/andrewning/sortphotos

Задача этого скрипта, скопировать фото из беспорядочной структуры в организованную структуру папок с разбиением по датам. Проблема: Я фотографирую на телефон и несколько фотоаппаратов. Иногда сохраняю присланные фото из сети. Веб камеры, экшн камеры, различные мессенджеры. Всё это создаёт цифровые фотографии, некоторые из которых мне хотелось бы сохранить в своём архиве. Когда все фото снимались одной камерой и их было немного, я вручную копировал их по папкам. Теперь это становится едва ли возможным. Одно и то же фото может быть несколько раз скопировано в разные папки, на разные устройства и сервисы, а иногда ещё и переименовано :(

На мой взгляд наиболее универсальным способом организовать упорядоченное хранение это создать папки с датами и распределить фото по ним. Из моего опыта - предпочтительный формат даты это ГОД-МЕСЯЦ-ДЕНЬ. Файлы, начинающиеся с даты в таком формате удобно сортируются. Например в структуре, которую я выбрал для себя, фото снятое сегодня будет храниться в папке 2018/2018-10-16/12345.jpg Часто я добавляю описание к папке, например 2017/2017-05-31 день рождения/12345.jpg Так удобно искать фото по описанию. Если фото делаются каждый день, можно дополнительно сделать папки по месяцам.

Данный скрипт копирует фото и видео из указанного источника, которым в большинстве случаев будет SD карта Вашего фотоаппарата в папку с архивом фотографий.

Функции скрипта:

  1. Определение даты фотографии или видео и копирование в соответствующую дате папку по заданному шаблону. Сначала пытаемся определить дату по EXIF, затем пытаемся её найти в имени файла, например IMG_20170505_1234.jpg или VID_2017_05_05_1234.mov. Если эти методы не работают, берём время создания файла. Опционально можно отключить копирование таких файлов, что бы потом скопировать их вручную.
  2. Проверка на существование дубликатов. Если фотография уже есть в Вашем архиве, она не будет копироваться. Опционально она будет так же удалена из источника. Проверка на полное совпадение файла (имя может отличаться).
  3. Вы можете указать расширения файлов, которые должны копироваться. Все остальные файлы останутся нетронутыми.
  4. Вы можете так-же указать расширения файлов, которые должны удаляться из папки источника. Это могут быть временные файлы и превьюшки, которые создаёт Ваша камера.
  5. Можно включить опцию удаления пустых папок на источнике. Таким образом ваша папка исходник будет полностью очищена после успешного копирования фото в архив.

Лично я придерживаюсь правила не переименовывать файлы, если они имеют оригинальное название данное им цифровой камерой. Это своего рода их идентификатор.

Для начала работы переименуйте config.ini.sample в config.ini и укажите там необходимые настройки.

About

PHP script to organize photos and videos into folders by date

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages