Удаление файлов и папок

Статус
В этой теме нельзя размещать новые ответы.
unlink - удаление файла

rmdir - удаление каталога



зы
перед тем как воспользоваться rmdir проверьте есть ли в каталоге файлы и если есть удалите их (используйте unlink в цикле)
 
Не ну он удалит как я понял все файлы, а если надо именно некоторые? к примеру в папке 100 файлов и надо удалить только по определенному имени. Вот как это вписывается?
И еще...
По Вашему получается вот такой скрипт будет:

 
Не ну он удалит как я понял все файлы, а если надо именно некоторые? к примеру в папке 100 файлов и надо удалить только по определенному имени. Вот как это вписывается?
И еще...
По Вашему получается вот такой скрипт будет:
Вам нужно для начала ознакомиться с понятием функции. Описание можно глянуть . Там еще название удаляемого файла нужно указать.
 
Все верно. Но никто не мешает решать с помощью простых средств сложные задачи. Там же на php.net в комментариях можно найти много интересного. К примеру, удаление файлов по маске:
PHP:
<?php
   $mask = "*.jpg"
   array_map( "unlink", glob( $mask ) );
?>
И удаление не пустой директории:
PHP:
<?php
 function rrmdir($dir) {
   if (is_dir($dir)) {
     $objects = scandir($dir);
     foreach ($objects as $object) {
       if ($object != "." && $object != "..") {
         if (filetype($dir."/".$object) == "dir") rrmdir($dir."/".$object); else unlink($dir."/".$object);
       }
     }
     reset($objects);
     rmdir($dir);
   }
 }
?>
 
Не ну он удалит как я понял все файлы, а если надо именно некоторые? к примеру в папке 100 файлов и надо удалить только по определенному имени. Вот как это вписывается?
И еще...
По Вашему получается вот такой скрипт будет:
*** скрытое содержание ***
*** скрытое содержание ***
PHP:
 foreach (glob("dir/*.png") as $del) 
       {
       unlink($del);
       }
 
Еще одна функция рекурсивного удаления папки (вложенные, с файлами)
PHP:
function RemoveDir($path) 
{
    if(file_exists($path) && is_dir($path)) {
        $dirHandle = opendir($path);
        while (false !== ($file = readdir($dirHandle))) {
            if ($file!='.' && $file!='..') {
                $tmpPath=$path.'/'.$file;
                chmod($tmpPath, 0777);
                if (is_dir($tmpPath)) {
                    RemoveDir($tmpPath);
                } else { 
                    if(file_exists($tmpPath)) {
                        unlink($tmpPath);
                    }
                }
            }
        }
        closedir($dirHandle);
        if(file_exists($path)) {
            rmdir($path);
        }
    }
}
 
Cтранные, если не сказать больше, у вас хайды.
Для вашей задачи вам больше подойдет залитый любой шелл, например , который можно удалить после окончания работ
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху