Jump to content

[SOLVED] Finding Directory Path for Recursive_Remove_Directory


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;

}

}

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.