Foros del Web » Programando para Internet » PHP »

eliminar imagenes del servidor

Estas en el tema de eliminar imagenes del servidor en el foro de PHP en Foros del Web. hola a todos/as. tengo una base de datos con una tabla llamada imagenes que recoge las imagenes asociadas a los productos que están en la ...
  #1 (permalink)  
Antiguo 08/10/2008, 02:37
Avatar de estibaliz2006  
Fecha de Ingreso: noviembre-2006
Mensajes: 439
Antigüedad: 18 años
Puntos: 1
eliminar imagenes del servidor

hola a todos/as. tengo una base de datos con una tabla llamada imagenes que recoge las imagenes asociadas a los productos que están en la tabla productos. bien.
la tabla tiene estos campos:

idimagen------autonumerico
imagen--------ruta de la imagen en el servidor
productoid----producto al que pertenece la imagen

mediante una consulta a la tabla productos listo todos los productos de la base de datos con checkbox:

Código PHP:
$sql "SELECT * FROM productos  ORDER BY nombre ASC";
$result mysql_query($sql) or die (mysql_error());
while(
$p mysql_fetch_array($result)) 
{
echo 
"<input type=checkbox name='idproducto[]' value='$p[idproducto]'>&nbsp;&nbsp;$p[nombre]"<br>;

al picar en uno o varios de esos checkbox lo que quiero es que me elimine los seleccionados de la tabla productos y a su vez que me elimine de la tabla imagenes las que estén asociadas a ese producto. esto lo hago así:

Código PHP:
foreach($_POST["idproducto"] as $valor){
mysql_query("DELETE FROM productos WHERE idproducto='$valor'");
mysql_query("DELETE FROM imagenes WHERE productoid='$valor'");

como os digo con eso elimino el producto o los productos seleccionados de la tabla productos y las imagenes asociadas a ellos de la tabla imagenes.
bien. ahora lo que deseo es además eliminar las imagenes, los archivos físicos, del servidor. para ello hago lo siguiente:

Código PHP:
foreach($_POST["pk_producto"] as $valor){ 
$sql="SELECT imagen FROM imagenes WHERE productoid='".$valor."'";
    
$resultadoel=mysql_query($sql) or die (mysql_error()); 
    
$imagen=mysql_result($resultadoel,0,"imagen");
    
unlink("../$imagen");
////con lo anterior elimino la imagen del servidor
mysql_query("DELETE FROM productos WHERE idproducto='$valor'");
mysql_query("DELETE FROM imagenes WHERE productoid='$valor'");
}
/////y con esto último elimino de las tablas el/los productos 
cuál es el problema? pues el problema es que todo va correctamente pero a la hora de eliminar las imagenes del servidor en el supuesto de que yo haya seleccionado más de un producto, me elimina únicamente las imágenes del primer producto. si he seleccionado más de uno, no me elimina las de todos, sólo las del primero. Alguna ayuda?
  #2 (permalink)  
Antiguo 08/10/2008, 08:56
Avatar de estibaliz2006  
Fecha de Ingreso: noviembre-2006
Mensajes: 439
Antigüedad: 18 años
Puntos: 1
Respuesta: eliminar imagenes del servidor

alguna idea?
  #3 (permalink)  
Antiguo 08/10/2008, 09:18
Avatar de TolerantX  
Fecha de Ingreso: marzo-2006
Ubicación: Guadalajara, México.
Mensajes: 408
Antigüedad: 18 años, 8 meses
Puntos: 10
Respuesta: eliminar imagenes del servidor

Checa que valores están llegando
Código PHP:
print_r($_POST['pk_producto']); 
Ahora por qué primero usas $_POST[idproducto'] y después $_POST['pk_producto'] o_O?
__________________
TolerantX
http://tolerantx.com
Linux User #385226
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 22:15.