Programación Web y Scripting > PHP
Problema Al Borrar Imágenes
zaida20:
Encontré el problema:
$borrar me devuelve la ruta dela imagen que quiero borrar, pero me separa los directorios con //// mientras que $imágenes y $imagenes_a me devuelve las rutas con //. Por eso no me borra la imagene¡. ¿Cómo puedo solucionarlo?
Gracias y saludos!!! :hola:
zaida20:
Buscando he encontrado la función stripslashes() y la he colocado después de que recojo la ruta de la imagen:
--- Código: Text ---$ruta_imagen=$_GET['ruta'];stripslashes($ruta_imagen);
Funciona, ya que me quita las barras /, que sobran pero el código sigue sin funcionar y no se por qué.
Si alguien puede ayudarme....
Gracias y saludos :hola:
F_Tanori:
--- Cita de: "zaida20" ---Buscando he encontrado la función stripslashes() y la he colocado después de que recojo la ruta de la imagen:
--- Código: Text ---$ruta_imagen=$_GET['ruta'];stripslashes($ruta_imagen);
Funciona, ya que me quita las barras /, que sobran pero el código sigue sin funcionar y no se por qué.
Si alguien puede ayudarme....
Gracias y saludos :hola:
--- Fin de la cita ---
en verdad le quita las diagonales?
segun recuerdo, la funcion recibe el parametro por valor no por referencia lo cual indica que tienes que devolver el resultado de la funcion
Asi:
--- Código: Text ---$ruta_imagen=$_GET['ruta'];$ruta_imgen=stripslashes($ruta_imagen);
o asi
--- Código: Text ---$ruta_imagen=stripslashes($_GET['ruta']);
Saludos
zaida20:
Hola F_Tanori
--- Citar ---en verdad le quita las diagonales?
--- Fin de la cita ---
Si me quita las barras, éste es mi código mejorado:
--- Código: Text ---<?phpsession_start();$ruta_imagen=$_GET['ruta'];$borrar=$_GET['foto_borrar'];$barra=stripslashes($borrar);if($barra!=NULL)//viene de borrar{ //echo $barra;//ruta a eliminar $imagenes=$_SESSION['foto']; //print_r($imagenes);//array que tenemos antes de borrar nada $i=0; $j=0; while($imagenes[$j]!=NULL) { if($imagenes[$j]!=$barra) { $imagenes_a[$i]=$imagenes[$j]; $i++; } $j++; } //print_r ($imagenes_a);//array en el que ya has eliminado lo que trae $borrar $imagenes=$imagenes_a; $_SESSION['foto']=$imagenes; $popo=$_SESSION['foto'];}else//viene de examinar{ if($ruta_imagen!=NULL) { $i=0; if($_SESSION['foto']==NULL)//si la sesión no existe, entra por primera vez { $rut=array(); $barra=stripslashes($ruta_imagen); $rutimagen[0]=$barra; $_SESSION['foto']=$rutimagen; $popo=$_SESSION['foto']; } else//entra por segunda vez, la sesión existe { $imagenes=$_SESSION['foto']; $barra=stripslashes($ruta_imagen); while($imagenes[$i]!=NULL)//si la imagen es distinta de null { if($imagenes[$i]!=$barra)//la imagen es distinta de la ruta, la metemos en sesion { $num=count($imagenes); $rutimagen=$imagenes; $rutimagen[$num]=$barra; $_SESSION['foto']=$rutimagen; $popo=$_SESSION['foto']; break; } else//si existe la foto { $error=1; $popo=$_SESSION['foto']; break; } $i++; } } }}?>
El problema es que a aveces funciona bien:
--- Código: Text ---else//si existe la foto { $error=1; echo "Existe la foto"; $popo=$_SESSION['foto']; break; }
es decir me avisa que la foto existe y no la muestra y aveces no me avisa y la muestra.
Sé que estoy haciendo algo mal, pero no se que es. ¿Podeis ayudarme?
SAludos :hola: y gracias
zaida20:
¿Nadie puede ayudarme? :( , no consigo encontrar el problema y cómo solucionarlo.
Saludos :hola:
Navegación
[#] Página Siguiente
[*] Página Anterior
Ir a la versión completa