TransWikia.com

como eliminar un directorio con php?

Stack Overflow en español Asked by Oscar Santander on November 10, 2021

deseo eliminar un directorio, pero cuando ejecuto la funcion ésta me devuelve un mensaje de de error interno (ruta_de_mi_archivo.php 500 (Internal Server Error)).

cuando creo una carpeta con php lo hago de la siguiente manera:

mkdir($ruta_dir, 0777, true);

y la función que utilizo para eliminar el directorio es la siguiente:

Eliminar_Dir($eliminar_ruta);

        function Eliminar_Dir($eliminar_ruta) {
            if (is_dir($eliminar_ruta)) {
                $gestor = opendir($eliminar_ruta);
                while (($archivo = readdir($gestor)) !== false) {
                    $ruta_completa = $eliminar_ruta . "/" . $archivo;
                    if ($archivo != "." && $archivo != ".." && $archivo != ".DS_Store") {
                        if (unlink($ruta_completa)) {
                            Eliminar_Dir($eliminar_ruta);
                        }
                    }
                }
                closedir($gestor);
            }
        }

        if(@rmdir($eliminar_ruta)){
            echo 1;
        }else{
            echo 0;
        }

2 Answers

he solucionado mi problema de la siguiente manera:

$ruta = $_POST['eliminar_ruta'];
$dir_eliminar = scandir($ruta);//agrego todo el contenido del directorio seleccionado en un arreglo con scandir

//recorro el arreglo y elimino todos sus archivos para posterior eliminar la carpeta
foreach($dir_eliminar as $llave => $file){
   if(!is_dir($file) && $file!="." && $file!=".."){
      $del_ruta= $ruta.'/'.$file;
      if(unlink($del_ruta)){}
   }
}

//aca elimino la carpeta
if(rmdir($ruta)){
   echo 1;
}else{
   echo 0;
}

Answered by Oscar Santander on November 10, 2021

tal vez tengas error en permisos que no se cambian al 0777 intenta poner debajo de eso
mkdir($ruta_dir,0777,true);

esto
chmod($ruta_dir,0777,true); solo para descartar ese problema

tambien pon " " ya que en windows no agarra solo /

Answered by Francisco Rodriguez on November 10, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP