Jump to content

Help With Deleting Subdirectories, Finding Path using ecursive_remove_directory


TecTao

Recommended Posts

In a membership, I want to be able to delete database entries as well as images with a particular member.

 

When the member is created and uploads images, they are uploaded to a folder created at the time of approval with the folder name same as member ID number.

 

When I want to delete the member from the DB, I also want to delete the directory with their images.

 

I found a Recursive_Remove_Directory function that seems to be written pretty good, but don't seem to be able to direct it to the path.  I created the path as a variable but still not working.  any ideas?

 

 

 

$directory = "home/blabla/public_html/query/media/$id";

echo $directory;

function recursive_remove_directory($directory, $empty=TRUE)

{

  // 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;

  }

}

Archived

This topic is now archived and is closed to further replies.

×
×
  • 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.