Jump to content

[SOLVED] Finding Directory Path for Recursive_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.