ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Удаление файлов с определённым расширением.
  #1  
Старый 09.03.2010, 20:41
Аватар для marlen
marlen
Новичок
Регистрация: 05.04.2008
Сообщений: 29
Провел на форуме:
115146

Репутация: 6
Post Удаление файлов с определённым расширением.

Здравствуйте ребята!
Помогите написать PHP скрипт, который будет удалять все файлы с определённым расширением с заданных каталогов на сайте, намерен запускать скрипт через крон задания, главное, нужно одним запуском удалять файлы из нескольких папок на сайте.
Спасибо! + за мной
 
Ответить с цитированием

  #2  
Старый 09.03.2010, 20:46
Аватар для Deathdreams
Deathdreams
Постоянный
Регистрация: 08.11.2008
Сообщений: 498
Провел на форуме:
2603363

Репутация: 278
Отправить сообщение для Deathdreams с помощью ICQ
По умолчанию

Для одной папки:
Код:
$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.'"'); }
Для массива папок:

Код:
$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.'"'; }

}

Последний раз редактировалось Deathdreams; 09.03.2010 в 21:24..
 
Ответить с цитированием

  #3  
Старый 09.03.2010, 22:50
Аватар для shellz[21h]
shellz[21h]
Постоянный
Регистрация: 20.12.2007
Сообщений: 334
Провел на форуме:
1934122

Репутация: 118
Отправить сообщение для shellz[21h] с помощью ICQ
По умолчанию

PHP код:
<?php
$paths 
= array('path1/',  'path2/');
$ext 'txt';
foreach(
$paths as $p)
     
system("rm -f {$p}*.{$ext}");
?>
 
Ответить с цитированием

  #4  
Старый 09.03.2010, 23:28
Аватар для b3
b3
Постоянный
Регистрация: 05.12.2004
Сообщений: 647
Провел на форуме:
1698585

Репутация: 818


Отправить сообщение для b3 с помощью ICQ
По умолчанию

Deathdreams
Цитата:
explode(".", $file)
А если имя файла "file.file.txt.exe" ?

shellz[21h]
А если system() нельзя, как на большинстве хостингов?
 
Ответить с цитированием

  #5  
Старый 09.03.2010, 23:54
Аватар для marlen
marlen
Новичок
Регистрация: 05.04.2008
Сообщений: 29
Провел на форуме:
115146

Репутация: 6
По умолчанию

Deathdreams, Спасибо! работает.

shellz[21h], несработало, файлы не удалил скрипт, наверное у меня отключена функция system()
 
Ответить с цитированием

  #6  
Старый 09.03.2010, 23:57
Аватар для shellz[21h]
shellz[21h]
Постоянный
Регистрация: 20.12.2007
Сообщений: 334
Провел на форуме:
1934122

Репутация: 118
Отправить сообщение для shellz[21h] с помощью ICQ
По умолчанию

Цитата:
А если system() нельзя, как на большинстве хостингов?
на большинстве это на бесплатных, вариант не универсальный конечно)
 
Ответить с цитированием

  #7  
Старый 10.03.2010, 00:39
Аватар для Deathdreams
Deathdreams
Постоянный
Регистрация: 08.11.2008
Сообщений: 498
Провел на форуме:
2603363

Репутация: 278
Отправить сообщение для Deathdreams с помощью ICQ
По умолчанию

Цитата:
Сообщение от b3  
Deathdreams

А если имя файла "file.file.txt.exe" ?
А тебя учили полностью читать код, а не открывками ?

end(explode(".", $file));

Надеюсь, функция end() о чём-нибудь говорит.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Полное удаление файлов. freelsd *nix 4 17.09.2009 08:46
Файлчекер (FileChecker) скрипт мониторинга файлов сайта TreV@N PHP, PERL, MySQL, JavaScript 6 07.02.2009 05:05
восстановление данных и безвозвратное удаление файлов troyan Болталка 4 22.11.2007 12:04
Безопасное удаление файлов ShadOS Анонимность 7 19.02.2007 18:54
Окончательное удаление файлов podkashey Soft - Windows 9 29.01.2007 16:24



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ