note 102565 modified in function.unlink by danbrown
[email protected] Tue, 22 Feb 2011 09:53:24 -0800
| Newsgroups | php.notes |
|---|---|
| Message-ID | <[email protected]> |
If you have a problem with unwriteable files test this ;)
Its a bit longer but it works really fine for me :)
<?php
public function delete_folder($tmp_path){
if(!is_writeable($tmp_path) && is_dir($tmp_path)){chmod($tmp_path,0777);}
$handle = opendir($tmp_path);
while($tmp=readdir($handle)){
if($tmp!='..' && $tmp!='.' && $tmp!=''){
if(is_writeable($tmp_path.DS.$tmp) && is_file($tmp_path.DS.$tmp)){
unlink($tmp_path.DS.$tmp);
}elseif(!is_writeable($tmp_path.DS.$tmp) && is_file($tmp_path.DS.$tmp)){
chmod($tmp_path.DS.$tmp,0666);
unlink($tmp_path.DS.$tmp);
}
if(is_writeable($tmp_path.DS.$tmp) && is_dir($tmp_path.DS.$tmp)){
delete_folder($tmp_path.DS.$tmp);
}elseif(!is_writeable($tmp_path.DS.$tmp) && is_dir($tmp_path.DS.$tmp)){
chmod($tmp_path.DS.$tmp,0777);
delete_folder($tmp_path.DS.$tmp);
}
}
}
closedir($handle);
rmdir($tmp_path);
if(!is_dir($tmp_path)){return true;}
else{return false;}
}
?>
--was--
If you have a problem with unwriteable files test this ;)
Its a bit longer but it works really fine for me :)
<?php
public function delete_folder($tmp_path){
if(!is_writeable($tmp_path) && is_dir($tmp_path)){chmod($tmp_path,0777);}
$handle = opendir($tmp_path);
while($tmp=readdir($handle)){
if($tmp!='..' && $tmp!='.' && $tmp!=''){
if(is_writeable($tmp_path.DS.$tmp) && is_file($tmp_path.DS.$tmp)){
unlink($tmp_path.DS.$tmp);
}elseif(!is_writeable($tmp_path.DS.$tmp) && is_file($tmp_path.DS.$tmp)){
chmod($tmp_path.DS.$tmp,0666);
unlink($tmp_path.DS.$tmp);
}
if(is_writeable($tmp_path.DS.$tmp) && is_dir($tmp_path.DS.$tmp)){
k8c_admin_area_write::k8c_delete_folder($tmp_path.DS.$tmp);
}elseif(!is_writeable($tmp_path.DS.$tmp) && is_dir($tmp_path.DS.$tmp)){
chmod($tmp_path.DS.$tmp,0777);
delete_folder($tmp_path.DS.$tmp);
}
}
}
closedir($handle);
rmdir($tmp_path);
if(!is_dir($tmp_path)){return true;}
else{return false;}
}
?>
http://php.net/manual/en/function.unlink.php