Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/08/2010, 21:21
fcopacheco
 
Fecha de Ingreso: enero-2008
Mensajes: 68
Antigüedad: 16 años, 3 meses
Puntos: 1
Borrar directorio con php

Este tema lo abrí para compartir una función para borrar directorios aunque estos tengan archivos o directorios en su interior.

Ojalá les sirva de ayuda.

Código PHP:
<?php

if(!isset($__REMDIR)){
    class 
NoOpenException extends Exception {}
    class 
NoDeleteException extends Exception {}
    class 
NoDirectoryException extends Exception {}
    class 
UnlinkException extends Exception {}
    
    function 
borrar_directorio($dir){
        if(!
is_dir($dir))
            throw new 
NoDirectoryException("$dir::No es un directorio");
        
        if(!(
$open opendir($dir)))
            throw new 
NoOpenException("$dir::No se puede abrir");
        
        while(
$file readdir($open)){
            if(
$file == "." || $file == "..")
                continue;
            if(
is_dir("$dir/$file"))
                
borrar_directorio("$dir/$file");
            else
                if(!
unlink("$dir/$file"))
                    throw new 
UnlinkException("$dir/$file::No se pudo borrar el archivo");
        }
        
closedir($open);
        
        if(!
rmdir($dir))
            throw new 
NoDeleteException("$dir::No ha podido ser borrado");
    }

    
$__REMDIR true;
}

?>
Si este código lo guardan como "borrar_directorio.php", para utilizarla deben sólo deben poner esto

Código PHP:
<?
include "borrar_directorio.php";
try{
 
borrar_directorio("nombre_del_directorio");
}catch(
Exception $e){
    die(
"<h2>".$e->getMessage()."</h2>");
}
?>