Jump to content

delete a folder


chanchelkumar

Recommended Posts

hai dude,

you can use the following function to delete a directory recursively or empty it.

 

 

 

<?php

 

 

 

// ------------ lixlpixel recursive PHP functions -------------

 

// recursive_remove_directory( directory to delete, empty )

 

// expects path to directory and optional TRUE / FALSE to empty

 

// of course PHP has to have the rights to delete the directory

 

// you specify and all files and folders inside the directory

 

// ------------------------------------------------------------

 

 

 

// to use this function to totally remove a directory, write:

 

// recursive_remove_directory('path/to/directory/to/delete');

 

 

 

// to use this function to empty a directory, write:

 

// recursive_remove_directory('path/to/full_directory',TRUE);

 

 

 

function recursive_remove_directory($directory, $empty=FALSE)

 

{

 

    // if the path has a slash at the end we remove it here

 

    if(substr($directory,-1) == '/')

 

    {

 

        $directory = substr($directory,0,-1);

 

    }

 

 

 

   // if the path is not valid or is not a directory ...

 

    if(!file_exists($directory) || !is_dir($directory))

 

    {

 

        // ... we return false and exit the function

 

        return FALSE;

 

 

 

    // ... if the path is not readable

 

    }elseif(!is_readable($directory))

 

    {

 

        // ... we return false and exit the function

 

       return FALSE;

 

 

 

    // ... else if the path is readable

 

    }else{

 

 

 

        // we open the directory

 

        $handle = opendir($directory);

 

 

 

        // and scan through the items inside

 

        while (FALSE !== ($item = readdir($handle)))

 

        {

 

            // if the filepointer is not the current directory

 

            // or the parent directory

 

            if($item != '.' && $item != '..')

 

            {

 

                // we build the new path to delete

 

                $path = $directory.'/'.$item;

 

 

 

                // if the new path is a directory

 

                if(is_dir($path))

 

                {

 

                    // we call this function with the new path

 

                    recursive_remove_directory($path);

 

 

 

                // if the new path is a file

 

                }else{

 

                    // we remove the file

 

                    unlink($path);

 

                }

 

            }

 

        }

 

        // close the directory

 

        closedir($handle);

 

 

 

        // if the option to empty is not set to true

 

        if($empty == FALSE)

 

        {

 

            // try to delete the now empty directory

 

            if(!rmdir($directory))

 

            {

 

                // return false if not possible

 

                return FALSE;

 

            }

 

        }

 

        // return success

 

        return TRUE;

 

    }

 

}

 

// ------------------------------------------------------------

 

 

 

recursive_remove_directory('d');

 

?>

 

 

 

 

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.