Здравствуйте ребята! Помогите написать PHP скрипт, который будет удалять все файлы с определённым расширением с заданных каталогов на сайте, намерен запускать скрипт через крон задания, главное, нужно одним запуском удалять файлы из нескольких папок на сайте. Спасибо! + за мной
Для одной папки: Code: $path = '/path'; //без слеша на конце $ext = 'ini'; // без точки if ($handle = opendir($path)) { while (false !== ($file = readdir($handle))) { $this_ext = end(explode(".", $file)); if( $this_ext == $ext ) if( @unlink($path."/".$file) ) { echo $path."/".$file." - success deleted!\r\n"; } else { echo $path."/".$file." - i can't delete this file\r\n"; } } closedir($handle); } else { die('Can\'t open folder "'.$path.'"'); } Для массива папок: Code: $paths = array('/path', '/tmp', '/home/www'); // везде без слеша на конце $ext = 'ini'; // без точки foreach( $paths as $n => $path ) { if ($handle = opendir($path)) { while (false !== ($file = readdir($handle))) { $this_ext = end(explode(".", $file)); if( $this_ext == $ext ) if( @unlink($path."/".$file) ) { echo $path."/".$file." - success deleted!\r\n"; } else { echo $path."/".$file." - i can't delete this file\r\n"; } } closedir($handle); } else { echo 'Can\'t open folder "'.$path.'"'; } }
PHP: <?php $paths = array('path1/', 'path2/'); $ext = 'txt'; foreach($paths as $p) system("rm -f {$p}*.{$ext}"); ?>
Deathdreams А если имя файла "file.file.txt.exe" ? shellz[21h] А если system() нельзя, как на большинстве хостингов?
Deathdreams, Спасибо! работает. shellz[21h], несработало, файлы не удалил скрипт, наверное у меня отключена функция system()
А тебя учили полностью читать код, а не открывками ? end(explode(".", $file)); Надеюсь, функция end() о чём-нибудь говорит.