Для правильного вопроса надо знать половину ответа
Считаем разницу от текущего времени
Если меньше минуты - выводим "только что"
Иначе если меньше часа - выводим "XX минуту/минуты/минут назад"
Иначе если меньше суток - выводим "XX час/часа/часов назад"
Иначе если меньше двух суток - выводим "вчера"
Иначе если меньше трёх суток - выводим "позавчера"
Иначе если меньше месяца - выводим "XX день/дней/дня назад"
...
Для правильного вопроса надо знать половину ответа
1. Получить список файлов из папки.
2. Получить список файлов из базы.
3. Отсортировать оба списка по алфавиту (можно прямо на шагах 1 и 2, но надо чтобы порядок сортировки был одинаковым).
4. Построчно сравнивать списки, отмечая те строки, которые есть только в одном списке.
Для правильного вопроса надо знать половину ответа
Нормальных вариантов не так много - админка на https для сайта на http, site/admin,admin.site/, кнопка или ссылка на странице.
А извращаться можно по разному, например ввод какого-нибудь кода в поле одной из форм на сайте, привязка к ip администраторов, ручное задание кукиса, несколько невидимых областей на странице по которым нужно кликнуть в определённом порядке...
Для правильного вопроса надо знать половину ответа
Чтбы понять, что там, всё равно придётся сначала скачать файл. А дальше можно его как угодно анализировать, например через finfo в php. Можно сначала получить заголовок через запрос HEAD, убедиться, что файл существует и определить его объём.
И уж конечно никакие полученные от клиента данные не должны писаться в базу без контроля. Как минимум mysqli::bind.