Foros del Web » Programando para Internet » PHP »

problema eliminando una imagen

Estas en el tema de problema eliminando una imagen en el foro de PHP en Foros del Web. tengo este sencillo script que quiero que si encuentra la imagen con nombre imagen.png ,la elimine, sino que no haga nada.La imagen se encuentra en ...
  #1 (permalink)  
Antiguo 28/01/2006, 14:43
 
Fecha de Ingreso: noviembre-2005
Mensajes: 139
Antigüedad: 12 años
Puntos: 0
problema eliminando una imagen

tengo este sencillo script que quiero que si encuentra la imagen con nombre imagen.png ,la elimine, sino que no haga nada.La imagen se encuentra en la carpeta donde estan todos los programas (www con appserv)Por eso getimagesize, que me devuelve false si no la encuentra.:
Código PHP:
<?php
$tam 
getimagesize("imagen.png");//obtengo tamaño de imagen.png
if(!$tam){    //si tam=false, no hago nada, no hay imagen
//no hago nada
}
else{
unlink("imagen.png");//elimino la imagen
}
?>
pero me da el error si no esta la imagen:
Warning: getimagesize(imagen.png): failed to open stream: No such file or directory in c:\appserv\www\index.php on line 11
alguien puede ayudarme
gracias
  #2 (permalink)  
Antiguo 28/01/2006, 17:55
 
Fecha de Ingreso: mayo-2003
Mensajes: 148
Antigüedad: 14 años, 6 meses
Puntos: 0
Tienes que indicarle la ruta de la imagen.
  #3 (permalink)  
Antiguo 28/01/2006, 19:33
 
Fecha de Ingreso: diciembre-2005
Mensajes: 165
Antigüedad: 12 años
Puntos: 4
te da error porque el script esta mal planteado, intentas obetener datos de un archivo inexistente mediante getimagesize y por eso da error. La funcion GETIMAGESIZE devuelve FALSE pero genera un error de nivel E_WARNING.
Si lo que quieres es borrar un archivo que exista, mejor usa if file_exists:

Código PHP:
if (file_exists("imagen.png")) {
unlink ("imagen.png");

Una observacion, en vez de usar if (no existe) no hago nada else unlink, mejor hacer directamente if (existe) unlink

Hasta luego.
  #4 (permalink)  
Antiguo 29/01/2006, 08:10
 
Fecha de Ingreso: noviembre-2005
Mensajes: 139
Antigüedad: 12 años
Puntos: 0
muchas gracias Cubatron
perfecto
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:30.