Comunidad de diseño web y desarrollo en internet online

Unlink de ficheros en PHP

Citar            
MensajeEscrito el 27 Abr 2009 02:38 pm
Hola, tengo un problema usando unlink
Tengo una BD con una tabla en la que almaceno videos, la tabla tiene un campo llamado "ruta", donde guardo la ruta para acceder a ese video que es "videos/nombre_del_video.formato".
Estoy intentando hacer unlink del video una vez que es eliminado de la BD, para ello antes de eliminar el video de la tabla recupero su campo ruta y lo guardo en una variable para luego usarlo con unlink pero no funciona.

En el siguiente ejemplo el valor de $sqlRuta es "videos/video.flv" y existe ese fichero dentro de /videos

Código :

$id_eliminar = $_POST['id'];
$sqlRuta= mysql_query ("SELECT ruta from videos WHERE id = $id_eliminar", $connection) or die(mysql_error());
$sqlEliminar = mysql_query("DELETE FROM videos WHERE id = $id_eliminar", $connection) or die(mysql_error());
unlink("../Proyecto-GMAPS-Flex/bin-debug".$sqlRuta);


El codigo anterior elimina correctamente de la BD pero no elimina el archivo físico, pensé que podía ser de los permisos pero no, porque si ejecuto el siguiente código:

Código :

$id_eliminar = $_POST['id'];
$sqlRuta= mysql_query ("SELECT ruta from videos WHERE id = $id_eliminar", $connection) or die(mysql_error());
$sqlEliminar = mysql_query("DELETE FROM videos WHERE id = $id_eliminar", $connection) or die(mysql_error());
unlink("../Proyecto-GMAPS-Flex/bin-debug/videos/video.flv);


Me elimina correctamente el video con nombre "video.flv" que se encuentra en la carpeta /videos
pero al tratar de hacerlo dinámicamente recuperando la ruta y almacenándola en una variable y luego usando el operador de concatenación de cadenas "." no funciona.

¿Alguno sabe a que es debido? ¿Por qué pasando al ruta completa elimina el archivo y pasando .$variable no lo hace?

Gracias, un saludo.

Por riestra

73 de clabLevel



 

msie8
Citar            
MensajeEscrito el 27 Abr 2009 04:52 pm
pueden ser permisos brother a mi me sucedio algo asi una ves y era eso los permisos lo que hice es q se los cambiaba en tiempo de ejecucion antes de borrarlos saludos

Por talcual

686 de clabLevel



 

Colombia

firefox
Citar            
MensajeEscrito el 27 Abr 2009 05:03 pm
Joder permisos no es, que al pasar la ruta completa a pelo si que funciona.

Por riestra

73 de clabLevel



 

msie8
Citar            
MensajeEscrito el 27 Abr 2009 08:16 pm
entonces brother es configuracion algunos server te dejan otros no saludos

Por talcual

686 de clabLevel



 

Colombia

firefox
Citar            
MensajeEscrito el 28 Abr 2009 12:18 am

riestra escribió:

Joder permisos no es, que al pasar la ruta completa a pelo si que funciona.


Joder, tu error es sencillo. El valor que te regresa la BD o le falta/sobra una diagonal o algo así...

Pero la solución es simple, solo pon un hecho, y revisa que es lo que jode la ruta, algo así:

Código :

echo "../Proyecto-GMAPS-Flex/bin-debug".$sqlRuta;
unlink("../Proyecto-GMAPS-Flex/bin-debug".$sqlRuta);


Es todo, mi beso please! :shock:

Por Dano

BOFH

4273 de clabLevel

14 tutoriales
4 articulos
10 ejemplos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Lugar estratégico para vigilarte

firefox
Citar            
MensajeEscrito el 28 Abr 2009 10:14 am

Código :

$sqlRuta= mysql_query ("SELECT ruta FROM fotos WHERE id = $id_eliminar", $connection) or die(mysql_error());
$sqlEliminar = mysql_query("DELETE FROM fotos WHERE id = $id_eliminar", $connection) or die(mysql_error());
$row=mysql_fetch_array($sqlRuta);
unlink("../Proyecto-GMAPS-Flex/bin-debug/".$row['ruta']);



Ahora funciona.
No hay beso no te lo has ganado colega.

Por riestra

73 de clabLevel



 

firefox
Citar            
MensajeEscrito el 22 Mar 2010 04:40 pm
yo tengo un problema similar... solo que si he logrado borrar la imagen en la carpeta bin-debug y la carpeta SRC...
sin embargo en flex no se me borra la imagen, he utilizado la metaetiqueta bindable en la variable xmlList donde esta alojado el directorio donde estaba la imagen y siempre la imprime
e inclusive he utilizado:

Código Flex :

imagen.source = null;
imagen.source = "";

y tampoco funciona...

es komo que si la imagen estuviera guardada todavia en la memoria cache... porque lo que he logrado controlar es que si borro la imagen y actualizo la pantalla la imagen siempre esta... pero si cierro el programa y lo vuelvo a correr la imagen ya no aparece nuevamente... :shock:

llevo como cuatro dias con este problema :(

Por cavziel

9 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.