Xwab
Форумыnavigate_nextПрограммирование на PHP

Удаление файлов в не базы
Сообщения
Анархист

Veres,выводим в массив имена файлов.Поиск в бд.Цикл и условие.

12 Май 2012, 19:10
Dezer

MadLion пишет:
"мож так?
[php:1:9e901bccb2]
$result = mysql_query('SELECT * FROM `files`');
while ( $f=mysql_fetch_array($result)){
if(!is_file($dir.'/'.$f['name']))unlink($dir.'/'.$f['name']);
}
[/php:1:9e901bccb2]"

Этот код работать и не будет...
TOOZ пишет:
"Veres, [php:1:9e901bccb2]<?php
$result = mysql_query('SELECT * FROM `files`');
while ( $files_in_db[] = mysql_fetch_array($result)) {}
$dir = '/dir/';
$files_in_dir = scandir($dir);
for($i = 0; $i<count($files_in_dir);$i++)
{
if(!in_array($files_in_dir[$i],$files_in_db)
unlink($dir.$files_in_dir[$i]);
}
?>[/php:1:9e901bccb2]

Как то так наверно

P.S. только надо еще код проверить, а то ты я тебе тут понасоветую))"

вместо '/dir/' - './foto/'
А в !in_array($files_in_dir[$i],$files_in_db - !in_array($dir.$files_in_dir[$i],$files_in_db
И файл на уровень один и тот же где и foto

15 Май 2012, 8:11
Nnz2

array_diff

15 Май 2012, 8:35
Dezer

Nnz2, ну раз на то пошло, то можно было все и в одном цикле сделать...
добавлено спустя 19 минут:
Veres,
[php]
<?php
$files = scandir('./foto/');
$query= mysql_query('SELECT * FROM `photos`');
while ( $arr = mysql_fetch_array($query)) {
array_diff($files,$arr['attach']);
}
array_walk($files,'unlink');
?>
Попробуй это...[/code]

15 Май 2012, 13:28
Veres

Dezer, Попробивал не пашет тоже:(

21 Май 2012, 19:11
Veres

Поскажите ещё какойта код??

23 Май 2012, 19:52
Ответить на тему