Foros del Web » Programando para Internet » PHP »

Error con unlink()

Estas en el tema de Error con unlink() en el foro de PHP en Foros del Web. Tengo un problema con la funcion UNLINK. Mi codigo es el siguiente: <?php include('olimpo.php'); unlink("imgs/".$archivo); echo header("Location:subir_foto.php"); ?> El log del servidor me dice esto: ...
  #1 (permalink)  
Antiguo 01/07/2009, 11:47
 
Fecha de Ingreso: julio-2009
Mensajes: 14
Antigüedad: 14 años, 9 meses
Puntos: 0
Error con unlink()

Tengo un problema con la funcion UNLINK. Mi codigo es el siguiente:

<?php
include('olimpo.php');
unlink("imgs/".$archivo);
echo header("Location:subir_foto.php");
?>
El log del servidor me dice esto:

PHP Warning: unlink(/var/www/vhosts/midominio.com/httpdocs/imgs/..): Is a directory in /var/www/vhosts/midominio.com/httpdocs/borrar_foto.php on line 3
Las fotos estan en el directorio "imgs" y les mando el nombre $archivo de un formulario anterior:

<FORM ENCTYPE="multipart/form-data" METHOD="POST" ACTION="borrar_foto.php">
<TABLE BORDER=0 ALIGN="CENTER">
<TR>
<TD class="Estilo1">Archivo a Borrar:</TD>
<TD class="Estilo1">
<input name="file" type="text" id="archivo">
<INPUT TYPE="submit" VALUE="Borrar" name="unlink"></TD>

El caso es que en local me funcionaba perfectamente y borraba las fotos, pero en el servidor no lo hace.
  #2 (permalink)  
Antiguo 01/07/2009, 11:59
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Error con unlink()

Tema trasladado desde PHP Configuración

Te falta rescatar la variable $archivo en tu otra pagina.
  #3 (permalink)  
Antiguo 01/07/2009, 12:06
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Error con unlink()

dale un echo a $archivo a ver si te trae informacion
  #4 (permalink)  
Antiguo 01/07/2009, 12:42
 
Fecha de Ingreso: julio-2009
Mensajes: 14
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Error con unlink()

He cambiado el codigo para que no me de el error de que es un directorio el que parece querer borrar.

<?php
include('olimpo.php');
unlink("imgs/".$archivo.".jpg");
echo header("Location:subir_foto.php");
?>

pero ahora me dice que no lo encuentra:

PHP Warning: unlink(imgs/.jpg): No such file or directory in /var/www/vhosts/midominio.com/httpdocs/borrar_foto.php on line 3

Abimaelrc, el echo no me devuelve nada.
Perdonar por mi torpeza pero no se como hacer para que recoja el $archivo.
Lo que no entiendo es que me funcionara bien en localhost
  #5 (permalink)  
Antiguo 01/07/2009, 12:59
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Error con unlink()

No te esta trayendo informacion $archivo. Esa variable esta vacia. Por lo tanto no va a poder borrar lo que estas indicando
  #6 (permalink)  
Antiguo 01/07/2009, 13:09
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Respuesta: Error con unlink()

echo header? Qué diantres es eso? XD
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.
  #7 (permalink)  
Antiguo 01/07/2009, 13:27
 
Fecha de Ingreso: enero-2009
Mensajes: 100
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: Error con unlink()

Cita:
Iniciado por j_mart Ver Mensaje
He cambiado el codigo para que no me de el error de que es un directorio el que parece querer borrar.

<?php
include('olimpo.php');
unlink("imgs/".$archivo.".jpg");
echo header("Location:subir_foto.php");
?>

pero ahora me dice que no lo encuentra:

PHP Warning: unlink(imgs/.jpg): No such file or directory in /var/www/vhosts/midominio.com/httpdocs/borrar_foto.php on line 3

Abimaelrc, el echo no me devuelve nada.
Perdonar por mi torpeza pero no se como hacer para que recoja el $archivo.
Lo que no entiendo es que me funcionara bien en localhost

La variable $archivo esta vasia.

Nota: el directorio "imgs" debe estar en "/var/www/vhosts/midominio.com/httpdocs/imgs"
  #8 (permalink)  
Antiguo 01/07/2009, 14:16
 
Fecha de Ingreso: julio-2009
Mensajes: 14
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Error con unlink()

La ruta de "imgs" esta correcta. Sigo sin saber por que esta vacia la variable $ archivo
Cambie la variable a $file y el echo me devuelve esto:

/sitepreview/http/midominio.com/borrar_foto.php?file=carla.jpg&unlink=Borrar

donde carla.jpg es la foto que quiero borrar
pero sigue sin borrarla.
¿Que es lo que esta mal en el formulario que envia el nombre?
¿El METHOD?
¿El imput name?
¿El ID?
  #9 (permalink)  
Antiguo 01/07/2009, 14:17
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Error con unlink()

Como te comente tienes que rescatar la variable revisa esto: http://www.php.net/variables.external

Saludos.
  #10 (permalink)  
Antiguo 01/07/2009, 17:37
 
Fecha de Ingreso: julio-2009
Mensajes: 14
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Error con unlink()

Muchas gracias por el documento. Si no he entendido mal deberia ser algo asi?

<?php
include('olimpo.php');
echo $HTTP_POST_VARS['file'];
echo $file;
unlink("imgs/".$file.".jpg");
echo header("Location:subir_foto.php");
?>

¿Entonces el "id=archivo" del formulario sobraria ?
  #11 (permalink)  
Antiguo 01/07/2009, 18:17
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Error con unlink()

De hecho si pasas por POST es $_POST['file'], si es por GET es $_GET['file'].

Saludos.
  #12 (permalink)  
Antiguo 01/07/2009, 19:21
 
Fecha de Ingreso: julio-2009
Mensajes: 14
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Error con unlink()

Muchas gracias GatorV y tambien al resto de los compis por vuestros consejos.
Tema solucionado. Podemos dar el tema por cerrado
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 15:00.