Какой самый быстрый способ проверить, существуют ли файлы в папке в моей базе данных mysql?
Я хочу просканировать папку с эффектами и проверить, указан ли каждый файл как строка в моей базе данных эффектов MySQL, и если это не так, я покажу его как неотслеживаемый файл. Кто-нибудь знает эффективный метод для достижения этого с помощью PHP? большое спасибо вам.
2 ответа
Решение
Я думаю, что есть только один способ: glob
подготовьте два оператора (проверку и обновление), используя PDO или mysqli, и выполните цикл по файлам.
Если вам нужно делать это регулярно, вы должны переместить отслеживаемые файлы в другое место, как только вы их отследите / проверите.
Лучший способ, о котором я могу подумать, - это хранить registration_date
вместе с filename
в таблице.
- выберите последний обновленный / добавленный файл из БД, получите метку времени для этого файла
- создать подготовленный оператор для добавления имени файла в таблицу
- цикл по списку файлов в вашем каталоге, чтобы найти файл, который новее, чем отметка времени
- вставьте каждое имя файла, которое соответствует условиям, и текущую метку времени в таблицу
- если есть нарушение
UNIQUE
ограничение, это означает, что файл был обновлен, а не добавлен.
ИМХО, это был бы самый эффективный способ сделать это.