Foros del Web » Programando para Internet » PHP »

unlink

Estas en el tema de unlink en el foro de PHP en Foros del Web. Tengo un problema, a ver si encuentro solución. Con unlink() se pueden eliminar archivos del servidor, pero ¿cómo se hace un link que elimine el ...
  #1 (permalink)  
Antiguo 16/08/2008, 06:46
Avatar de chechu_  
Fecha de Ingreso: mayo-2007
Mensajes: 282
Antigüedad: 16 años, 10 meses
Puntos: 0
unlink

Tengo un problema, a ver si encuentro solución.
Con unlink() se pueden eliminar archivos del servidor, pero ¿cómo se hace un link que elimine el archivo especifico?
  #2 (permalink)  
Antiguo 16/08/2008, 07:11
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 19 años, 6 meses
Puntos: 71
Respuesta: unlink

Cita:
Iniciado por chechu_ Ver Mensaje
Tengo un problema, a ver si encuentro solución.
Con unlink() se pueden eliminar archivos del servidor, pero ¿cómo se hace un link que elimine el archivo especifico?
un link directamente no se puede, debes crear un link en plan
Código HTML:
<a href="borrar.php?f=fichero.txt">Borrar fichero.txt</a> 
luego en el fichero borrar.php:
Código PHP:
if(file_exists($_GET['f'])){
  
unlink($_GET[]'f');
echo 
"Fichero borrado.";

seria algo asi, aunque mejorando la seguridad
  #3 (permalink)  
Antiguo 16/08/2008, 09:48
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 19 años, 1 mes
Puntos: 20
Respuesta: unlink

¿Qué problema tienes al hacer unlink? No lo especificas.
  #4 (permalink)  
Antiguo 16/08/2008, 10:19
Avatar de chechu_  
Fecha de Ingreso: mayo-2007
Mensajes: 282
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: unlink

Tengo en el index.php el siguiente enlace:
echo "<a style='text-decoration:none' href='Eliminar.php?f=$file'>eliminar</a><br>";

He creado un archivo que se llama Eliminar.php y su contenido es el siguiente:
if(file_exists($_GET['f'])){
unlink($_GET[]'f');
echo "Fichero borrado.";
}

Pero me lanza el siguiente error:
Parse error: syntax error, unexpected '}' in /web /www /home/Directorio/Eliminar.php on line 11
  #5 (permalink)  
Antiguo 16/08/2008, 10:23
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 15 años, 11 meses
Puntos: 2534
Respuesta: unlink

otra ves copiar y pegar.... que malos son!!!

deberían de ponerse a leer los conceptos básicos de sintaxis general en la programación

Código PHP:
if(file_exists($_GET['f'])){
unlink($_GET[]'f'); // <--- ese es el error?!
echo "Fichero borrado.";


debería ir así....

Código PHP:
if(file_exists($_GET['f'])){
unlink($_GET['f']); // <--- ese es el error?!
echo "Fichero borrado.";

__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 16/08/2008, 10:57
Avatar de chechu_  
Fecha de Ingreso: mayo-2007
Mensajes: 282
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: unlink

Perdona por el copiar y pegar.

He preparado un upload que lista los archivos subidos y me gustaría poder borrarlos, pero no logro usar el link para eliminarlos.

El archivo no es eliminado.
  #7 (permalink)  
Antiguo 16/08/2008, 11:03
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 15 años, 11 meses
Puntos: 2534
Respuesta: unlink

chechu_, podrías poner el código que lista tales archivos?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 16/08/2008, 11:27
Avatar de chechu_  
Fecha de Ingreso: mayo-2007
Mensajes: 282
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: unlink

Cita:
Iniciado por pateketrueke Ver Mensaje
chechu_, podrías poner el código que lista tales archivos?
¡A tus ordenes!

$directori ='Archivos/';
$dir=opendir($directori);
while (false !== ($file = readdir($dir)))
{
if(($file!='.')&&($file!='..'))
{
echo "$rutaweb"."<strong>$file</strong><br>";
}
}
closedir($dir);
  #9 (permalink)  
Antiguo 16/08/2008, 13:10
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 19 años, 6 meses
Puntos: 71
Respuesta: unlink

Si, bueno, mi codigo tenia un pequeño error, por las prisas al teclear :p
Para poder eliminar el fichero, deberias de proporcionarle la ruta relativa (o completa, mejor) para poder eliminar el fichero.

Rehusando tu codigo:
Código PHP:
$directori ='Archivos/';
$dir=opendir($directori);
while (
false !== ($file readdir($dir)))
{
if((
$file!='.')&&($file!='..'))
{
echo 
"$rutaweb<strong>$file</strong><a href=\"eliminar.php?f=$file\">Eliminar</a><br>";
}
}
closedir($dir); 
y en el fichero eliminar.php
Código PHP:
$directori='Archivos/';
$fichero=$directori.$_GET['f'];
if(
file_exists($fichero)){
  
unlink($fichero);
  echo 
"Fichero eliminado";

Por cierto, no te limites a copiar/pegar el codigo, intenta entenderlo, y sino, pregunta :)
  #10 (permalink)  
Antiguo 16/08/2008, 16:52
Avatar de chechu_  
Fecha de Ingreso: mayo-2007
Mensajes: 282
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: unlink

Te aseguro que no me limito a copiar y pegar, intento aprender cuanto puedo y el tiempo que puedo, he aprendido mucho viendo códigos creados y comprendiendo su funcionamiento, normalmente lo saco todo por mí mismo, pero con unlink tenía un problema.

También he aprendido mucho de este foro, cosa que es de agradecer, por cierto, muchas gracias a ti también, el código funciona perfectamente.
  #11 (permalink)  
Antiguo 17/08/2008, 04:24
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 19 años, 6 meses
Puntos: 71
Respuesta: unlink

Cita:
Iniciado por chechu_ Ver Mensaje
Te aseguro que no me limito a copiar y pegar, intento aprender cuanto puedo y el tiempo que puedo, he aprendido mucho viendo códigos creados y comprendiendo su funcionamiento, normalmente lo saco todo por mí mismo, pero con unlink tenía un problema.

También he aprendido mucho de este foro, cosa que es de agradecer, por cierto, muchas gracias a ti también, el código funciona perfectamente.
No lo decia a malas, eh?
Me alegro que al final te haya funcionado el codigo
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 09:08.