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;
}
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
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP