Comunidad de diseño web y desarrollo en internet online

problema con funcion "unlink()", ayudame porfavor!!!!!

Citar            
MensajeEscrito el 25 Jul 2008 08:30 pm
Bueno, miren tengo un archivo llamado, filemanager.php, este muestra los archivos que tengo hosteados en una lista, en el cual cada archivo tiene un link abajo que dice "Borrar".

El enlace "Borrar", tiene como direccion de envio "filename.php?delete=archivo.gif", bueno este enlace se encargara de enviar a la pagina "filename.php", la cual tiene la funcion "unlink()".

Bueno ahora el dilema para mi es:

Como hacer que el unlink(), reconosca el archivo que se le ha requerido?

se me ocurria unlink("$_GET['delete'];"); pero ya ven que no me ha resultado.

ahora tambien quisiera saber como se hace para que la pagina cuando no se le requiera ningun archivo, quede en blanco, obviamente sin ningun error.

para ello genere este codigo:

Código :

<?php if ($_GET['delete'] != "") {
   
   
   $1= "delete/";
   $2="$_GET['delete']";
   $filename=$1,$2;
   
unlink ("$filename");
}
?>


pero ya ven que yo no senada de Php, y no he podido crear nada! bueno, espero recibir una gran ayuda, ya que mi pagina que tengo no la puedo mantener a traves de FileZilla, ya que constantemente me cambio de pc! ya que esto lo ago en mi trabajo!

Bueno si me ayudan y termino esto, dare las gracias y promovere a cristalab en mi web!

Por nocrosis

65 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 25 Jul 2008 09:13 pm
el codigo esta mal, en vez de "," va "." para concatenar variables de tipo String:

Código :

<?php if ($_GET['delete'] != "") {
   
   
   $1= "delete/";
   $2="$_GET['delete']";
   $filename=$1 . $2;
   
unlink ("$filename");
}
?>


acordate que tenes que verificar que realmente el archivo exista y luego posicionarte correctamente en el directorio de trabajo.... saludos!!!

Por joarobles

753 de clabLevel

8 tutoriales

 

Córdoba - Argentina

firefox
Citar            
MensajeEscrito el 25 Jul 2008 09:46 pm
Gracias "joarobles", por tu ayuda, pero lamentablemente no me ha resuleto el problema, ya que me da error, y ademas no me elimina el archivo ¬¬.

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/virtual/public_html/www/filename.php on line 2

y bueno he hecho lo que me has dicho, y ....

Espero que alguien tenga el agrado de poder facilitarme un codigo que recoja lo que nesesito.

Código :

<?php if ($_GET['delete'] != "") {
   $1= "delete/"; //carpeta de archivos
   $2="$_GET['delete']"; // el GET hhtp.www.pag.com/filename.php?delete=archivo.gif
   $filename=$1,$2;      // fucion de las dos Get y Dir.
   
unlink ("$filename");     //eliminar el archivo solicitado
}
?>

Por nocrosis

65 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 26 Jul 2008 02:54 pm
estas seguro de que estas trabajando en el directorio correcto??

podes comprobarlo con getcwd(); y luego te posicionas en la carpeta exacta con chdir($carpeta); y finalmente haces unlink al archivo... la carpeta debería tener permisos de lecto-escritura...

Por joarobles

753 de clabLevel

8 tutoriales

 

Córdoba - Argentina

firefox
Citar            
MensajeEscrito el 27 Jul 2008 07:43 am
Oye, a la variable $2 le estas asignando una cadena pues esta entre comillas, aunque creo que el php ignora eso y te devuelve el contenido del arreglo, por otro lado, no deberías crear variables que empiecen con un numero, mucho menos que su nombre sea un numero, en el directorio delete pones los archivos a eliminar, seguro que hay están?, y el directorio delete esta sobre la misma carpeta que el php? me explico:

/misArchivos/borrar.php //digamos que asi se llama el archivo del script que estas haciendo
/misArchivos/delete/ //la carpeta delete exite alli junto a tu script php ??

Por EmiR

Claber

678 de clabLevel

2 tutoriales

Genero:Masculino   Héroes

firefox
Citar            
MensajeEscrito el 27 Jul 2008 04:47 pm
muestra el archivo filename.php porq hay esta el error

Por talcual

686 de clabLevel



 

Colombia

msie7
Citar            
MensajeEscrito el 27 Jul 2008 06:27 pm
mira este es el error no puedes concatenar con "," sino con punto es decir asi como esta abajo no es
$filename=$1,$2;

prueba asi para q veas

$filename=$1.$2;


y tbn quitale las comilllas a esto unlink ("$filename");

prueba y me avisas

Por talcual

686 de clabLevel



 

Colombia

msie7
Citar            
MensajeEscrito el 27 Jul 2008 08:02 pm
ahhh si, no me fije y lo que te dice talcual es cierto, pensé que habías corregido el código tal como te lo mostró nocrosis, hay que cambiar esas concatenaciones.

talcual, en teoría las comillas no deberían afecta el comportamiento no crees?? por ejemplo en un echo, normalmente dentro de las comillas invocamos variables y el php automáticamente trae los valores contenidos, no seria lo mismo para otras funciones?

Por EmiR

Claber

678 de clabLevel

2 tutoriales

Genero:Masculino   Héroes

firefox
Citar            
MensajeEscrito el 27 Jul 2008 09:13 pm

Código :

<?php if ($_GET['delete'] != "") {
   $1= "delete/"; //carpeta de archivos
   $2="$_GET['delete']"; // el GET hhtp.www.pag.com/filename.php?delete=archivo.gif
   $filename=$1,$2;      // fucion de las dos Get y Dir.
   
unlink ("$filename");     //eliminar el archivo solicitado
}
?>


el hecho de poner comillas asigna una variable de tipo String... no toma el valor de la variable como si estuviera pasada por parametro... en su caso estaria buscando un archivo llamado "$filename", que, logicamene, no existe...

Por joarobles

753 de clabLevel

8 tutoriales

 

Córdoba - Argentina

firefox
Citar            
MensajeEscrito el 28 Jul 2008 05:56 pm
exactamente ese problema me a pasado varias veces pero aprendi q las comillas aveces no son necesarias jaja en este caso no lo son pero bueno no todos programamos igual no lo crees

Por talcual

686 de clabLevel



 

Colombia

msie7
Citar            
MensajeEscrito el 28 Jul 2008 11:35 pm
Gracias ya lo solucione! XD

Por nocrosis

65 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 29 Jul 2008 01:50 am
siempre a la orden

Por talcual

686 de clabLevel



 

Colombia

msie7

 

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