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
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]