note 102565 modified in function.unlink by danbrown
| From: | danbrown@php.net | Date: | Tue, 22 Feb 2011 17:53:24 +0000 |
| Subject: | note 102565 modified in function.unlink by danbrown | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-177226@lists.php.net to get a copy of this message | ||
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