Foros del Web » Programando para Internet » PHP »

unlink no me funciona

Estas en el tema de unlink no me funciona en el foro de PHP en Foros del Web. Hola gente ,seguro que algo se me escapa pero he leido el tema explicado en php.net sobre unlink http://es.php.net/manual/es/function.unlink.php y no me funciona. Voy a ...

  #1 (permalink)  
Antiguo 06/10/2008, 05:57
Avatar de Dundee  
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 21 años, 10 meses
Puntos: 8
unlink no me funciona

Hola gente ,seguro que algo se me escapa pero he leido el tema explicado en php.net
sobre unlink
http://es.php.net/manual/es/function.unlink.php
y no me funciona. Voy a explicar las comprobaciones hechas por mi para descartar posibles problemas:
El ćodigo que he puesto para borrar mis archivos es muy simple
Código:
if (isset($del_img) )

if (!unlink($ruta){
echo "<span class='aviso'>no se pudo borrar el archivo :".$_GET['archivo']."</span>";
}
He probado con rutas absolutas y relativas y con ninguna me borra los archivos ,es decir:
$ruta="archivos/miarchivo,jpg"
$ruta="http://www.miserver.com/archivos/miarchivo.jpg"
He comprobado que el archivo se encuentra en esa ruta concreta (ya que sino no lo mostraría en la web, es una imagen).

Por cierto el error que me tira es este
borrar
Warning: unlink(users/images/194_logo_php.png_ter ) [function.unlink]: No such file or directory in /home/robertos/public_html/acount.php on line 70
No Se Pudo Borrar El Archivo :


Un saludo y gracias
  #2 (permalink)  
Antiguo 06/10/2008, 06:39
 
Fecha de Ingreso: junio-2005
Ubicación: Madrid, España
Mensajes: 288
Antigüedad: 18 años, 10 meses
Puntos: 1
Respuesta: unlink no me funciona

Para asegurarte indica la ruta absoluta pero no de la estructura de tu web sino de la de gestor de archivos. es decir la ruta seria como dice el error que te manda
/home/robertos/public_html/
Esa seria la ruta absoluta donde estan tus ficheros alojados por lo que deberias poner para borrar la ruta hasta el fichero completa
/home/robertos/public_html/archivos/miarchivo.jpg

Comprueba tambien que tengas permisos para borrar.
  #3 (permalink)  
Antiguo 06/10/2008, 08:05
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: unlink no me funciona

el error es claro,

No such file or directory in /home/robertos/public_html/acount.php on line 70

no encuentra el archivo o el directorio

seguro que esta el archivo en ese directorio, seguro que existe el directorio?
  #4 (permalink)  
Antiguo 06/10/2008, 08:06
Avatar de Dundee  
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 21 años, 10 meses
Puntos: 8
Respuesta: unlink no me funciona

Cita:
Iniciado por zekenet Ver Mensaje
Para asegurarte indica la ruta absoluta pero no de la estructura de tu web sino de la de gestor de archivos. es decir la ruta seria como dice el error que te manda
/home/robertos/public_html/
Esa seria la ruta absoluta donde estan tus ficheros alojados por lo que deberias poner para borrar la ruta hasta el fichero completa
/home/robertos/public_html/archivos/miarchivo.jpg

Comprueba tambien que tengas permisos para borrar.
Bueno , la verdad que no se muy bien porque tengo que poner la ruta como dices pero de todas formas lo he hecho y me sigue sin funcionar, me tira este error.


Warning: unlink(/home/robertos/public_html/users/images/194_logo_php.png_ter ) [function.unlink]: No such file or directo

Los permisos que tienen tanto la carpeta images como la foto son 777 , ademas si fuera por los permisos supongo que diría algo en el error que tira de los mismos ¿no?.
Un saludo y gracias
  #5 (permalink)  
Antiguo 06/10/2008, 08:08
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: unlink no me funciona

REPITO

el error es claro,

No such file or directory in /home/robertos/public_html/acount.php on line 70

no encuentra el archivo o el directorio

seguro que esta el archivo en ese directorio, seguro que existe el directorio?

A DEMAS MIRA EL NOMBRE DEL ARCHIVO QUE QUIERES BORRAR

194_logo_php.png_ter
  #6 (permalink)  
Antiguo 06/10/2008, 08:24
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: unlink no me funciona

Revisa la ruta.

Recuerda que los sistemas UNIX son case sensitive.
  #7 (permalink)  
Antiguo 06/10/2008, 08:42
 
Fecha de Ingreso: marzo-2005
Ubicación: Guadalajara, Jal
Mensajes: 164
Antigüedad: 19 años, 2 meses
Puntos: 1
De acuerdo Respuesta: unlink no me funciona

HOLA AMIGO

COMO LO COMENTA Ronruby LOS los sistemas UNIX son case sensitive. VERIFICA TAMBIEN MAYUSCULAS Y MINUSCULAS EN WINDOWS NO TOMA ENCUENTA ESO PERO EN UNIX SI ES MUY COMUN

SALUDOS Y SUERTE
  #8 (permalink)  
Antiguo 06/10/2008, 08:45
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: unlink no me funciona

y php tambien distingue entre mayusculas y minusculas
  #9 (permalink)  
Antiguo 06/10/2008, 08:59
 
Fecha de Ingreso: marzo-2005
Ubicación: Guadalajara, Jal
Mensajes: 164
Antigüedad: 19 años, 2 meses
Puntos: 1
De acuerdo Respuesta: unlink no me funciona

no es eso solo que el mensaje dice que no encuentra el directorio o el archivo y como lo estas corriendo en un sistema unix es muy sensible a esos puntos

suele pasar que la extencion la puedas tener en .JPG y tu la mandas llamar como .jpg verifica bien

saludos
  #10 (permalink)  
Antiguo 07/10/2008, 04:34
Avatar de Dundee  
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 21 años, 10 meses
Puntos: 8
Respuesta: unlink no me funciona

Hola de nuevo, he conseguido que ya me borre las imágenes con unlink , pero lo curioso es que aunque me las borra perfectamente me sigue devolviendo el mismo error (es decir false).


Warning: unlink(users/images/206_caca.jpg ) [function.unlink]: No such file or directory in /home/robertos/public_html/fns/logic_fns.php on line 440
no se pudo borrar el archivo ImgName

Y digo yo, si no encuentra la imagen ¿como es que la borra?.

RECTIFICO: Los borra de la Bd NO DEL SERVIDOR, sigo probando una y otra vez más y no me funciona, cursiosamente si pongo la ruta en el navegador se me muestra la imagen por ello deduzco que la ruta que pongo para unlink es la correcta.

Gracias de antemano.

Última edición por Dundee; 07/10/2008 a las 05:22
  #11 (permalink)  
Antiguo 07/10/2008, 04:37
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: unlink no me funciona

pues nada le pones una arroba antes del unlink y ya no aparecera el error

@unlink();

lo que no se es el por que te lo hace si borra el archivo

suerte
  #12 (permalink)  
Antiguo 07/10/2008, 06:55
Avatar de Dundee  
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 21 años, 10 meses
Puntos: 8
Respuesta: unlink no me funciona

Cita:
Iniciado por jaronu Ver Mensaje
pues nada le pones una arroba antes del unlink y ya no aparecera el error

@unlink();

lo que no se es el por que te lo hace si borra el archivo

suerte
Bueno arriba edite el post

RECTIFICO: Los borra de la Bd NO DEL SERVIDOR, sigo probando una y otra vez más y no me funciona, cursiosamente si pongo la ruta en el navegador se me muestra la imagen por ello deduzco que la ruta que pongo para unlink es la correcta.

Un saludo ,seguire probando
  #13 (permalink)  
Antiguo 07/10/2008, 08:54
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: unlink no me funciona

Si usas la ruta que ves por el navegador (con http://) por unlink no puedes borrarla, necesitas pasarle la ruta via el sistema de archivos, por ejemplo, ya que son dos rutas diferentes, aunque tu en tu navegador veas:

http://pagina/carpeta/imagenes/archivo.jpg

Lo más probable es que este guardado en una ruta tipo:
/var/www/tsuario/htdocs/carpeta/imagenes/archivo.jpg.

La ruta al sistema de archivos es lo que le tienes que pasar a tu script.

Si no conoces la ruta a tu carpeta lo mejor es subir un archivo con la siguiente linea:
Código php:
Ver original
  1. <?php
  2. echo getcwd();

Eso te va a imprimir la ruta hacia el script y así puedes saber donde estan alojadas tus imagenes y esa ruta pasarle al unlink.

Saludos.
  #14 (permalink)  
Antiguo 07/10/2008, 09:39
Avatar de Dundee  
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 21 años, 10 meses
Puntos: 8
Respuesta: unlink no me funciona

OK , he copiado ese código y lo he pegado en un script en la carpeta de las imágenes , cuando he ido cargarlo en el navegador me tira este error:
Código:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Gracias
  #15 (permalink)  
Antiguo 07/10/2008, 10:13
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: unlink no me funciona

Tienes algún .htaccess en la carpeta? O la carpeta esta fuera de tu www-root?

Saludos.
  #16 (permalink)  
Antiguo 07/10/2008, 10:29
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: unlink no me funciona

Hola

prueba a pasarle la ruta de esta tres formas, a mi me va bien la primera

Código PHP:
$ruta="../archivos/miarchivo.jpg" // esta es la ruta que le paso a unlink() actualmente funciona

$ruta="/archivos/miarchivo.jpg"

$ruta="./archivos/miarchivo.jpg" 

suerte
  #17 (permalink)  
Antiguo 07/10/2008, 10:34
Avatar de Dundee  
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 21 años, 10 meses
Puntos: 8
Respuesta: unlink no me funciona

Cita:
Iniciado por GatorV Ver Mensaje
Tienes algún .htaccess en la carpeta? O la carpeta esta fuera de tu www-root?

Saludos.
Disculpas por mi ignorancia pero no entiendo bien eso del htaccess ni para que sirve, la carpeta está dentro de la carpeta www ¿debería estar fuera?.

Gracias
  #18 (permalink)  
Antiguo 07/10/2008, 10:38
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: unlink no me funciona

Si no tienes ningún .htaccess entonces checa el log de errores del server, en el puedes ver porque te marca ese error.

Saludos.
  #19 (permalink)  
Antiguo 07/10/2008, 10:59
Avatar de Dundee  
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 21 años, 10 meses
Puntos: 8
Respuesta: unlink no me funciona

Cita:
Iniciado por GatorV Ver Mensaje
Si no tienes ningún .htaccess entonces checa el log de errores del server, en el puedes ver porque te marca ese error.

Saludos.
Bueno gracias por la ayuda pero no tengo ni idea de como se mira eso. Agradecería sobre todo si alguien me puede pasar algún link donde se trate el tema de seguridad en php tema en el que estoy muy muy verde y si puede ser alguno que trate de esto de los LOGS para que me vaya enterando un poco del tema.

Gracias de antemano.

Un saludo
  #20 (permalink)  
Antiguo 08/10/2008, 14:07
Avatar de Dundee  
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 21 años, 10 meses
Puntos: 8
De acuerdo Respuesta: unlink no me funciona

Vale ,sigo intentándolo pero no lo consigo , he verificado en el servidor que.

El archivo existe

la ruta la he puesto de dos maneras
Warning: unlink(/home/robertos/users/images/213_anfamilien_suh_ans.jpg )
Warning: unlink(home/robertos/users/images/213_anfamilien_suh_ans.jpg )

Como veis ambos me tira el mismo error

Warning: unlink(users/images/213_anfamilien_schuh_hans.jpg )

El archivo existe seguro porque para subir las imagenes no tengo más que especificar la ruta users/images y lo sube pero borrarlo parece ser que es otra movida que no entiendo.

Un saludo y gracias a tod@s
  #21 (permalink)  
Antiguo 08/10/2008, 14:09
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: unlink no me funciona

probaste esta rutas que te puse arriba

Código PHP:
$ruta="../archivos/miarchivo.jpg" // esta es la ruta que le paso a unlink() actualmente funciona

$ruta="/archivos/miarchivo.jpg"

$ruta="./archivos/miarchivo.jpg" 
  #22 (permalink)  
Antiguo 08/10/2008, 14:39
Avatar de Dundee  
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 21 años, 10 meses
Puntos: 8
Respuesta: unlink no me funciona

Cita:
Iniciado por jaronu Ver Mensaje
probaste esta rutas que te puse arriba

Código PHP:
$ruta="../archivos/miarchivo.jpg" // esta es la ruta que le paso a unlink() actualmente funciona

$ruta="/archivos/miarchivo.jpg"

$ruta="./archivos/miarchivo.jpg" 
Si,si he probado todo eso y mucho más pero me devuelve el error. De todas formas por muchas rutas que pruebe es absurdo si tengo la carpeta en www/users/images que pruebe ../users/images ¿no crees? , en todo caso /user/images ,es decir una carpeta dentro del root llamada users que a su vez contiene otra llamada images. No se lo que sucede pero es muy raro.

Un saludo
  #23 (permalink)  
Antiguo 08/10/2008, 14:48
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: unlink no me funciona

empecemos de cero

que ruta usas para subir el archivo, en el escriot para subir
  #24 (permalink)  
Antiguo 09/10/2008, 02:11
Avatar de Dundee  
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 21 años, 10 meses
Puntos: 8
Respuesta: unlink no me funciona

Cita:
Iniciado por jaronu Ver Mensaje
empecemos de cero

que ruta usas para subir el archivo, en el escriot para subir
Hola , tengo una variable predefinida que es el path donde están las imágenes de los usuarios que previamente han subido y es esta:
$path="users/images";
Con esa ruta se suben perfectamente , he de decir que el script que lo llama está en el directorio raiz
www/scriptquellama.php
www/users/images


Estas son las rutas.

Un saludo y gracias
  #25 (permalink)  
Antiguo 09/10/2008, 04:18
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: unlink no me funciona

Hola de nuevo

la rura que yo uso es de esta forma

$ruta_destino = "../carpeta/images/";

y para hacer unlink uso la misma

intentalo como te dije y no

$path="users/images";

si no

$path="../users/images/";

asi subes y asi borras

intentalo

un saludo
  #26 (permalink)  
Antiguo 09/10/2008, 04:50
Avatar de Dundee  
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 21 años, 10 meses
Puntos: 8
De acuerdo Respuesta: unlink no me funciona

Cita:
Iniciado por jaronu Ver Mensaje
Hola de nuevo

la rura que yo uso es de esta forma

$ruta_destino = "../carpeta/images/";

y para hacer unlink uso la misma

intentalo como te dije y no

$path="users/images";

si no

$path="../users/images/";

asi subes y asi borras

intentalo

un saludo
Bueno gracias por la ayuda nuevamente pero estaba bastante seguro que eso no funcionaría porque la ruta es otra, de todos modos lo he prbado y este es el resultado.

Warning: unlink(../users/images/213_anblister_alterna.jpg ) [function.unlink]: No such file or directory in /home/robertos/public_html/fns/logic_fns.php on line 46

Garantizo que la imagen existe ,estoy harto de comprobarlo cada vez en el servidor ya que el FTP tarda en actualizar la cache.

Vamos que tampoco la borra y si utilizo esa ruta para subir los archivo tampoco los sube logicamente porque no es su ruta.

Un saludo y gracias de todos

Última edición por Dundee; 09/10/2008 a las 05:05
  #27 (permalink)  
Antiguo 09/10/2008, 05:00
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: unlink no me funciona

pues el error sigue siendo claro NO ENCUENTRA EL ARCHIVO O EL DIRECTORIO

No such file or directory in /home/robertos/public_html/fns/logic_fns.php on line 46

Seguro que tienes permisos 777 en la carpeta??

es raro

una cosa, la comprobacion que haces antes de borrar??

if (isset($del_img) )

de donde viene la variable $del_img ??

Última edición por jaronu; 09/10/2008 a las 05:11
  #28 (permalink)  
Antiguo 09/10/2008, 05:20
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: unlink no me funciona

Por que no pones el codigo que usas para subir las imagenes??
  #29 (permalink)  
Antiguo 09/10/2008, 05:33
Avatar de Dundee  
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 21 años, 10 meses
Puntos: 8
Respuesta: unlink no me funciona

Cita:
Iniciado por jaronu Ver Mensaje
Por que no pones el codigo que usas para subir las imagenes??
Haber $del_img viene de un formulario que le envía la id de la imagen para borrarla ,eso esta perfecto, subirla ya he dicho que las sube sin problema alguno , el único problema es al borrarlas , no entiendo porque no la borra.
De todas formas pienso que el tema de $del_img es inecesario pegar su código y explico porque . Cuando me devuelve el error de que no encuentra la imagen muestra esto.

Warning: unlink(../users/images/213anlogo_peq.jpg )

Por lo cual podéis ver que el nombre de la imagen se le pasa perfectamente y esa imagen está en el server así que ya no se que decir . Pero de todas las formas insisto que esa no es su ruta , su ruta es /users/images/213anlogo_peq.jpg, no entiendo porque dices que hay que poner esta ruta ../users/images/213anlogo_peq.jpg ,eso sería si tuviera la carpeta users fuera de mi root .

De todas formas voy a pegar el código por si algo se me escapa (la función que la borra)
Código:
function borrar_archivo ($ImgId,$AdId,$ImgName) {

/* le añadimos el sufijo del AdID a cada imagen para localizarla en el servidor */
include("diccionario.php");
$ImgName=$AdId.$sufijo.$ImgName;
$ImgName=strtolower($ImgName);

if ( !unlink($path_absolute."/".$ImgName) ){
echo "<span class='aviso'>no se pudo borrar el archivo $ImgName </span>";

/* ESTA LA BORRA DE LA BD ,ESO LO HACE PERFECTO*/
borrar_img($ImgId);
}

}
Gracias de todas maneras por la ayuda a todos

Última edición por Dundee; 09/10/2008 a las 05:38
  #30 (permalink)  
Antiguo 09/10/2008, 05:38
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: unlink no me funciona

muestra la ruta que le pasas al script de subida y el proceso de subida.

hay sistemas para subir archivos en este foro, has visto alguno??

para ver las diferencias con el tuyo

seria mas facil ver si hay algun error de ruta u otra cosa

pero si no quieres poner el script tu mismo, es mas dificil ayudarte

un saludo
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 02:48.