Czasem lubię się pastwić nad ludźmi, czasem nad kodem. Nad ludźmi bywa kiepsko, bo może to być nielegalne. Nad kodem lepsiej, bo może to stanowić niezłe ćwiczenie. Ostatnio mnie trafiło, jak zobaczyłem commenta o wdzięcznym brzmieniu:
Eddy Vlad
24-Nov-2009 04:59
The shortest recursive delete possible.
/**
* Delete a file or recursively delete a directory *
* @param string $str Path to file or directory
*/
function recursiveDelete($str)
{
if(is_file($str))
{
return @unlink($str);
}
elseif(is_dir($str))
{
$scan = glob(rtrim($str,'/').'/*');
foreach($scan as $index=>$path)
{
recursiveDelete($path);
}
return @rmdir($str);
}
}
Kilka minut zabawy i wymodziłem coś takiego:
function rrmdir($path)
{
return is_file($path)?
@unlink($path):
array_map('rrmdir',glob($path.'/*'))==@rmdir($path)
;
}
Wspomoże ktoś czymś jeszcze krótszym?