Hola muy buenas, veran tengo un problemilla bastante raro. miren:
Spoiler:
<?php session_start(); include("conexion_bd.php"); $nombre_marca=$_REQUEST['marca']; chmod('img',0777); chmod('img/balines',0777); chmod('img/balines/logos',0777); foreach ($nombre_marca as $stupid) { $consulta=mysql_query('SELECT imagen FROM marcas WHERE nombre LIKE "'.$stupid.'"'); $resultado=mysql_fetch_array($consulta); if(file_exists('img/balines/logos/'.$resultado[0])) { unlink('img/balines/logos/'.$resultado[0]); }else{ } $ruta='img/balines/'.strtolower($stupid); if(is_dir($ruta)) { chmod($ruta,0777); $ruta_thumb=$ruta.'/thumb'; chmod($ruta_thumb,0777); $thumb=opendir($ruta_thumb); while($archivo=readdir($thumb)) { // carpeta thumb if($archivo=="_notes") { if(is_dir($ruta.'/thumb/_notes')) { // carpeta thumb/_notes chmod($ruta_thumb,0777); while($thumb_notes=readdir(opendir($ruta_thumb))) { unlink($ruta_thumb.'/'.$thumb_notes); } closedir($ruta_thumb.'/_notes'); rmdir($ruta_thumb.'/_notes'); } } if(!(($archivo==".")or($archivo==".."))) { unlink($ruta_thumb.'/'.$archivo); unlink($ruta.'/'.$archivo); mysql_query('DELETE FROM marcas_balines WHERE nombre LIKE "'.$archivo.'"'); } } if(rmdir($ruta_thumb)) { if(rmdir($ruta)) { mysql_query('DELETE FROM marcas WHERE nombre LIKE "'.$stupid.'"'); mysql_query('DELETE FROM marcas_propiedades WHERE marca LIKE "'.$stupid.'"'); } } }else{ mysql_query('DELETE FROM marcas WHERE nombre LIKE "'.$stupid.'"'); mysql_query('DELETE FROM marcas_propiedades WHERE marca LIKE "'.$stupid.'"'); } } header('Location: quit_marca_name.php?sms=Las marcas seleccionadas y sus archivos han sido eliminados'); ?>
Visto esto, os planteo el problema que me surge. Como veran (almenos eso creo) el codigo esta perfecto (Se que la funcion chmod() esta deshabilitada, pero por si acaso lo tengo puesto) pero el problema es que no me borra el ultimo directorio. ejemplo: Esto es lo que tengo -dir_raiz -thumb -imagen_1 -imagen_2 -imagen_3 -imagen_4 -imagen_5 -... -imagen_1 -imagen_2 -imagen_3 -imagen_4 -imagen_5 -...
el codigo lo borra todo menos el directorio raiz (dir_raiz, en el ejemplo) y me gustaría saber que pasa. Alguien tiene alguna idea?
Problema resuelto. me faltava borrar alguna cosas de dentro de la raiz..xD ya esta. Gracias de todos modos. Pongo el codigo por si alguien tiene alguna duda parecida ya sabe.
Spoiler:
<?php session_start(); include("conexion_bd.php"); $nombre_marca=$_REQUEST['marca']; chmod('img',0777); chmod('img/balines',0777); chmod('img/balines/logos',0777); foreach ($nombre_marca as $stupid) { $consulta=mysql_query('SELECT imagen FROM marcas WHERE nombre LIKE "'.$stupid.'"'); $resultado=mysql_fetch_array($consulta); if(file_exists('img/balines/logos/'.$resultado[0])) { unlink('img/balines/logos/'.$resultado[0]); } $ruta='img/balines/'.strtolower($stupid); if(is_dir($ruta)) { chmod($ruta,0777); $ruta_thumb=$ruta.'/thumb'; chmod($ruta_thumb,0777); $thumb=opendir($ruta_thumb); while($archivo=readdir($thumb)) { // carpeta thumb if($archivo=="_notes") { if(is_dir($ruta.'/thumb/_notes')) { // carpeta thumb/_notes chmod($ruta_thumb,0777); while($thumb_notes=readdir(opendir($ruta_thumb))) { unlink($ruta_thumb.'/'.$thumb_notes); } closedir($ruta_thumb.'/_notes'); rmdir($ruta_thumb.'/_notes'); } } if(!(($archivo==".")or($archivo==".."))) { unlink($ruta_thumb.'/'.$archivo); //unlink($ruta.'/'.$archivo); //mysql_query('DELETE FROM marcas_balines WHERE nombre LIKE "'.$archivo.'"'); } } closedir($thumb); if(is_dir($ruta_thumb)) { rmdir($ruta_thumb); } $raiz=opendir($ruta); while($archivo=readdir($raiz)) { // carpeta raiz if($archivo=="_notes") { if(is_dir($ruta.'/_notes')) { // carpeta raiz/_notes $notes_raiz=opendir($ruta.'/_notes'); while($thumb_notes=readdir($notes_raiz)) { unlink($ruta.'/_notes/'.$thumb_notes); } closedir($notes_raiz); rmdir($ruta.'/_notes'); } } if(!(($archivo==".")or($archivo==".."))) { unlink($ruta.'/'.$archivo); mysql_query('DELETE FROM marcas_balines WHERE nombre LIKE "'.$archivo.'"'); } } closedir($raiz); if(rmdir($ruta)) { mysql_query('DELETE FROM marcas WHERE nombre LIKE "'.$stupid.'"'); mysql_query('DELETE FROM marcas_propiedades WHERE marca LIKE "'.$stupid.'"'); } }else{ mysql_query('DELETE FROM marcas WHERE nombre LIKE "'.$stupid.'"'); mysql_query('DELETE FROM marcas_propiedades WHERE marca LIKE "'.$stupid.'"'); } } header('Location: quit_marca_name.php?sms=Las marcas seleccionadas y sus archivos han sido eliminados'); ?>
TU NO PUEDES Escribir nuevos temas TU NO PUEDES Responder a los temas TU NO PUEDES Editar tus propios mensajes TU NO PUEDES Borrar tus propios mensajes