Mark Steudel wrote:
> I was hoping someone could give me a hand, I'm trying to create a delete
> folders function that recursively deletes folders and files from a given
> directory. Here's what I have so far, but its not working I keep getting
>
> Warning: rmdir(wwwroot/resources/applications/44/series/25/modules/29)
> [function.rmdir]: Directory not empty in
> wwwroot\common\class.directories.php on line 28
do you have the relevant permissions to unlink() the files in question?
try dumping/collecting some debugging infomation a bit like this
function does:
/* delete everything in the $dir */
function recursiveDelete($dir)
{
$msgs = array(
"\n"."\n".'deleting everthing in: '.$dir,
"\n".'---------------------------------------------------------------'
);
if ($handle = /[EMAIL PROTECTED]/opendir($dir)) {
while (($file = readdir($handle)) !== false) {
if (($file == ".") || ($file == "..")) {
continue;
}
if (is_dir($dir.'/'.$file)) {
// call self for this directory
$msgs = array_merge($msgs, recursiveDelete($dir.'/'.$file));
$r = rmdir ($dir.'/'.$file);
$msgs[] = "\n".'deleting dir.: '.$dir.'/'.$file.($r?'
SUCCESSFUL':' FAILED');
}
else {
$r = unlink($dir.'/'.$file); // remove this file
$msgs[] = "\n".'deleting file: '.$dir.'/'.$file.($r?'
SUCCESSFUL':' FAILED');
}
}
/[EMAIL PROTECTED]/closedir($handle);
return $msgs;
}
/* return an array of messages always - for the call array_merge() */
return array();
}
>
> function deleteFolders( $resource )
> {
> if( is_dir( $resource ) )
> {
> if( $dir = opendir( $resource ) )
> {
> while( false !== ( $file == readdir( $dir ) ) )
> {
> if( $file != '.' && $file != '..' )
> {
>
> $this->deleteFolders($resource.'/'.$file );
> }
> }
> closedir($dir);
> rmdir($resource);
> }
> else
> {
> $this->LOG .= __LINE__ . ": Unable to open
> directory\r\n";
> }
> }
> else
> {
>
> if( is_file( $resource ) )
> {
> unlink( $resource );
> }
> else
> {
> $this->LOG .= __LINE__ . ": Unknown path:
> $resource\r\n";
> }
> }
> }
>
> TIA, mark
>
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php