teknik2008
@teknik2008
Расскажите про GOLANG. Мне интересно

Как лучше удалить файлы через php mysqli ссылок на которых нет в базе?

В голове 2 варианта
Первый:
  • Создать кеш таблицу.
  • Туда залить список файлов из папки и потом запросом получить список —файлов для удаления.
  • Удалить файлы
  • Удалить кеш таблицу

Второй:
  • Переименовать папку с файлами
  • Создать папку с предыдущим именем
  • Сделать запрос в базу к именам используемых файлов
  • Перебрать файлы, те которые подходят переместить в новую папку
  • Старую папку удалить с содержимым

Возможно мне бы подошел вариант выборки в базе по произвольным данным типа
SELECT * FROM ('file_1.jpg','file_2.jpg','file_3.jpg','file_4.jpg') where ...

Но не знаю как такое сделать, это было бы идеально.
  • Вопрос задан
  • 350 просмотров
Пригласить эксперта
Ответы на вопрос 1
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
выбираем все файлы из папки в массив, далее
foreach ($filenames as $filename){
    $res = $db->selectOne("SELECT `id` FROM `images` where `path`='$filename'"); // смысл получить запись 
//из бд(или false в случае отсутствия)
    if(empty($res)) deleteFile($filename); //думаю deleteFilename() сами напишете
 }
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы