Удалить файлы из папки

Статус
В этой теме нельзя размещать новые ответы.

bumer3

Постоялец
Регистрация
10 Янв 2008
Сообщения
291
Реакции
155
Есть таблица SQL
есть папка с файлами на серваке
там файлы типа 1.jpg
2.jpg и.тд. , где номер - ID в таблице как лучше всего действовать в такой ситуации если нужно удалить все файлы с ИД которых нету записи в БД

Большое спасибо...
 
Если записей в базе много, то сканировать папку по файлам и делать запрос в базу есть/нет и соответственно решать оставлять/удалять.

Если записей не особо много, можно сразу их все выбрать в массив и далее как написано выше, только сравнивая с массивом, а не БД.
 
И при удалении не забыть про права у пхп-скрипта на удаление файлов из каталога сервера.
 
1. Сканируешь директорию (Для просмотра ссылки Войди или Зарегистрируйся)
2. Копируешь название файла в переменную
3. Удаляешь из переменной концовку (.jpg), получаешь id
4. Делаешь запрос на существование id в базе
5. Если нету такого id, то удаляешь

PHP:
$dir = "/etc/php5/";

if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
        while (($file = readdir($dh)) !== false) {
            $temp = str_replace(".jpg", "", $file); 
            $result=mysql_query("select id from table_name where id = '$temp'");
            if(mysql_num_rows($result) == 0)
                unlink($file);                   
        }
        closedir($dh);
    }
}

Что-то типа того.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху