function rm_recursive($filepath) {
if (is_dir($filepath) && !is_link($filepath)) {
if ($dh = opendir($filepath)) {
while (($sf = readdir($dh)) !== false) {
if ($sf == '.' || $sf == '..') {
continue;
}
if (!rm_recursive($filepath.'/'.$sf)) {
throw new Exception($filepath.'/'.$sf.' could not be deleted.');
}
}
closedir($dh);
}
return rmdir($filepath);
}
return unlink($filepath);
}
La entrada de rmdir() en el manual de PHP tiene otras recetas similares a la que use anteriormente. Otros ejemplos usan glob() pero, al parecer, tarda mucho en soltar los archivos y esto puede generar problemas aleatorios con los permisos de los archivos. El comentario correspondiente a la funcion tambien expone que utilizar opendir() es mas rapido que glob().
No hay comentarios.:
Publicar un comentario