HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

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

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

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

  #2  
Старый 09.03.2010, 20:46
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]
Постоянный
Регистрация: 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
Постоянный
Регистрация: 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
Новичок
Регистрация: 05.04.2008
Сообщений: 29
Провел на форуме:
115146

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

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

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

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

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

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

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

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

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

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

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

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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Файлчекер (FileChecker) скрипт мониторинга файлов сайта TreV@N PHP 6 07.02.2009 05:05
восстановление данных и безвозвратное удаление файлов troyan Болталка 4 22.11.2007 12:04
Безопасное удаление файлов ShadOS Анонимность 7 19.02.2007 18:54



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


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




ANTICHAT.XYZ