Ayer me vi en la necesidad de hacer una rutina que pudiera eliminar todo lo que existe en una carpeta junto con la carpeta, dado que se crea para generar un archivo rar en el sistema y al momento de generar el rar, la carpeta ya no me sirve.
Descripcion
Funcion que elimina el contenido completo de una carpeta incluyendo la misma.
**OJO** Las acciones de eliminar se encuentran comentadas para que puedan testear y no eliminar algo importante
Código PHP:
Ver original
function rrmdir($dir){ echo 'Abriendo directorio '.$dir.'<br>'; for($x=0;$x<$numA;$x++){ if($archivos[$x] != '.' && $archivos[$x] != '..'){ if(isset($file[$numC-1])){ // Si quisieran eliminar solo una extension agregan la extension && $file[$numC-1] == 'jpg' echo 'Eliminando archivo'.$dir."/".$archivos[$x].'<br>'; //unlink($dir."/".$archivos[$x]); //Determinar si tiene archivos la carpeta if($numB > 2){ //Si lo usan en una clase esta es la linea //$this->rrmdir($dir."/".$archivos[$x]); //Si lo usan como funcion usen esta otra linea //rrmdir($dir."/".$archivos[$x]); }else{ echo 'Eliminando directorio '.$dir.'<br>'; //rmdir($dir."/".$archivos[$x]); } } } } echo 'Eliminando directorio '.$dir.'<br>'; //rmdir($dir); } }
Forma de uso
Código PHP:
Ver original
rrmdir('carpeta'); //o rrmdir('carpeta/carpeta'); //siempre pensando que en el mismo nivel de la carpeta se encuentra este archivo
Saludos!