Foros del Web » Programando para Internet » PHP »

foreach unlink

Estas en el tema de foreach unlink en el foro de PHP en Foros del Web. hola, os cuento, tengo dos tablas: 1. Galerias con los campos: titulo, id 2. Imagenes con los campos: titulo_img, nombre,id_img, galeria_id luego lo que quiero ...
  #1 (permalink)  
Antiguo 05/05/2012, 05:58
 
Fecha de Ingreso: septiembre-2011
Mensajes: 30
Antigüedad: 13 años, 3 meses
Puntos: 1
foreach unlink

hola,

os cuento, tengo dos tablas:
1. Galerias con los campos: titulo, id
2. Imagenes con los campos: titulo_img, nombre,id_img, galeria_id
luego lo que quiero es que se me borren todas las imagenes de la carpeta donde las he subido al eliminar la galeria, y solo me borra una, y lo mas avanzado que tengo es esto, que debo cambiar? me imagino que ya esta al caer la solucion no?


Código PHP:
    function BorrarGaleria($id){
            
            
$this->db->where('galeria_id'$id);
            
$query $this->db->get('imagenes');
            if(
$query->num_rows 0){
                foreach (
$query->result_array() as $files){
                    
$data[]= $files;// aqui tendria que cojer todos los nombres de las imagenes que contiene la galeria con aquel id
                
}
                
$query->free_result();
       
            }
            
$this->db->where('id'$id);
             
$this->db->delete('galerias');
            
$path "./uploads/".$data//aqui es donde no funciona porque no se como decirle que lo haga por cada resultado obtenido
            
unlink($path);
          
            
    } 
  #2 (permalink)  
Antiguo 05/05/2012, 07:39
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 16 años, 4 meses
Puntos: 139
Respuesta: foreach unlink

No estas recuperando correctamente los valores devuelto de result_array en el foreach.

Mira como yo lo he puesto.
Código PHP:
Ver original
  1. function BorrarGaleria($id){
  2.              
  3.             $this->db->where('galeria_id', $id);
  4.             $query = $this->db->get('imagenes');
  5.             if($query->num_rows > 0){
  6.                 foreach ($query->result_array() as $files){
  7.                  
  8.                  if( file_exists($files['nombre']) ){
  9.                    
  10.             $path = "./uploads/".$files['nombre']; //aqui es donde no funciona porque no se como decirle que lo haga por cada resultado obtenido
  11.             unlink($path);
  12.                    
  13.                  }
  14.                  
  15.                 }
  16.                 $query->free_result();
  17.        
  18.             }
  19.             $this->db->where('id', $id);
  20.              $this->db->delete('galerias');
  21.  
  22.            
  23.              
  24.     }

Espero que te sirva.

Saludos.

Última edición por gjx2; 05/05/2012 a las 07:49
  #3 (permalink)  
Antiguo 06/05/2012, 01:42
 
Fecha de Ingreso: septiembre-2011
Mensajes: 30
Antigüedad: 13 años, 3 meses
Puntos: 1
Respuesta: foreach unlink

Muchisimas Gracias!! funciona estupendamente! gracias por el aporte!!

Etiquetas: foreach, imagenes, tabla, unlink
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:15.