Webmaster общности: Predpriemach.com | SearchEngines.bg

    Изтриване на директория – function delete/empty directory

    В този урок ще ви кажа как да си направите функция за триене на всичко от дадена папка (под-папки и файлове) и триене САМО на файловете (т.е. трият се всички файлове от папката и под-папките. Но САМО файловете. Папките си остават.)

    Ето първата функция. FUNCION DELETE. Трие абсолютно всичко.

    function remove_dir($dir)
    {
    $handle = opendir($dir);
    while (false!==($item = readdir($handle)))
    {
    if($item != '.' && $item != '..')
    {
    if(is_dir($dir.'/'.$item))
    {
    remove_dir($dir.'/'.$item);
    }else{
    unlink($dir.'/'.$item);
    }
    }
    }
    closedir($handle);
    if(rmdir($dir))
    {
    $success = true;
    }
    
    }

    Ето и втората функция която само изпразва папката и под-папкитe. FUNCTION EMPTY

    function dirdelete($directory)
    {
    if (!is_dir($directory))
    {
    echo ("$directory | Директорията не съществува!");
    
    }
    if ($dir = opendir($directory))
    {
    while (($dirfile = readdir($dir)) !== false)
    {
    $path = $directory.'/'.$dirfile;
    if (is_link($path) || $dirfile == '.' || $dirfile == '..')
    {
    continue;
    }
    if (is_file($path))
    {
    unlink ("$path");
    }
    if (is_dir($path))
    {
    $dirdel = dirdelete($path);
    
    
    }
    }
    closedir($dir);
    
    }
    }

    Има различни начини да извикате дадена функция. Аз лично ползвам този.
    В случая:

    <?php
    $current_dir = "folder"; ////// ИМЕТО НА ПАПКАТА КОЯТО ЩЕ ТРИЕТЕ///////
    $del = remove_dir($current_dir);
    
    if ($del){
    echo "Успешно изтрихте папката";
    } else {
    echo "Грешка!";
    }
    ?>

    И ето и варианта за другата функция:

    <?php
    $current_dir = "folder"; ////// ИМЕТО НА ПАПКАТА КОЯТО ЩЕ ИЗПРАЗВАТЕ///////
    $empty = remove_dir($current_dir);
    
    if ($empty){
    echo "Успешно изпразнихте папката";
    } else {
    echo "Грешка!";
    }
    ?>

    Урока е подготвен специално за WEB-TOURIST.NET
    Ако не разбирате нещо, моля питайте във форума.