Какой самый быстрый способ проверить, существуют ли файлы в папке в моей базе данных mysql?

Я хочу просканировать папку с эффектами и проверить, указан ли каждый файл как строка в моей базе данных эффектов MySQL, и если это не так, я покажу его как неотслеживаемый файл. Кто-нибудь знает эффективный метод для достижения этого с помощью PHP? большое спасибо вам.

2 ответа

Решение

Я думаю, что есть только один способ: glob подготовьте два оператора (проверку и обновление), используя PDO или mysqli, и выполните цикл по файлам.

Если вам нужно делать это регулярно, вы должны переместить отслеживаемые файлы в другое место, как только вы их отследите / проверите.

Лучший способ, о котором я могу подумать, - это хранить registration_date вместе с filename в таблице.

  • выберите последний обновленный / добавленный файл из БД, получите метку времени для этого файла
  • создать подготовленный оператор для добавления имени файла в таблицу
  • цикл по списку файлов в вашем каталоге, чтобы найти файл, который новее, чем отметка времени
  • вставьте каждое имя файла, которое соответствует условиям, и текущую метку времени в таблицу
  • если есть нарушение UNIQUE ограничение, это означает, что файл был обновлен, а не добавлен.

ИМХО, это был бы самый эффективный способ сделать это.

Другие вопросы по тегам