Foros del Web » Programando para Internet » PHP »

No puedo borrar archivo

Estas en el tema de No puedo borrar archivo en el foro de PHP en Foros del Web. Hola, tengo este codigo, pero no logro borrar los archivos: Código PHP: $sql1  =  "SELECT * FROM galeria WHERE album = '$album'" ; $sql2  =  mysql_query ( $sql1 ); while( $row  =  ...
  #1 (permalink)  
Antiguo 10/02/2011, 22:25
Avatar de almagropaco_  
Fecha de Ingreso: marzo-2008
Ubicación: Mar del Plata
Mensajes: 854
Antigüedad: 16 años, 1 mes
Puntos: 25
No puedo borrar archivo

Hola, tengo este codigo, pero no logro borrar los archivos:

Código PHP:
$sql1 "SELECT * FROM galeria WHERE album = '$album'";
$sql2 mysql_query($sql1);
while(
$row mysql_fetch_assoc($sql2)) {
unlink(imagenes/$row[fotos]) ;

Probe de muchas maneras y no lo logre. Probe sin el while, y otras maneras, pero dejo este codigo que es la manera que no me tira error, pero que tampoco borra el archivo. La carpeta imagenes tiene permisos chmod 777, no se que hace falta.

¿Cual es el error? Gracias por visitar
  #2 (permalink)  
Antiguo 10/02/2011, 22:27
Avatar de CazaresLuis  
Fecha de Ingreso: septiembre-2010
Ubicación: Distrito Federal
Mensajes: 67
Antigüedad: 13 años, 7 meses
Puntos: 2
Respuesta: No puedo borrar archivo

Cita:
Iniciado por almagropaco_ Ver Mensaje
Hola, tengo este codigo, pero no logro borrar los archivos:

Código PHP:
$sql1 "SELECT * FROM galeria WHERE album = '$album'";
$sql2 mysql_query($sql1);
while(
$row mysql_fetch_assoc($sql2)) {
unlink(imagenes/$row[fotos]) ;

Probe de muchas maneras y no lo logre. Probe sin el while, y otras maneras, pero dejo este codigo que es la manera que no me tira error, pero que tampoco borra el archivo. La carpeta imagenes tiene permisos chmod 777, no se que hace falta.

¿Cual es el error? Gracias por visitar
Verifica que tus archivos tengan permisos 777

Aquí podras ver como se hace: http://mx2.php.net/manual/es/function.chmod.php

La otra es que debes poner asi: unlink('imagenes/' . $row[fotos]) ;

Te faltan las comillas

Saludos
  #3 (permalink)  
Antiguo 10/02/2011, 22:28
 
Fecha de Ingreso: abril-2006
Ubicación: Bogotá
Mensajes: 251
Antigüedad: 18 años
Puntos: 14
Respuesta: No puedo borrar archivo

Hola,

Prueba dejando el unlink así:

Código PHP:
unlink("imagenes/".$row['fotos']); 
Y valida que el dato de $row['fotos'] sea correcto y existan realmente en el directorio de imagenes.

Podrías mejorarlo usando file_exists como otro validador antes de eliminar el archivo.

Nos cuentas, saludos!
  #4 (permalink)  
Antiguo 11/02/2011, 15:55
Avatar de almagropaco_  
Fecha de Ingreso: marzo-2008
Ubicación: Mar del Plata
Mensajes: 854
Antigüedad: 16 años, 1 mes
Puntos: 25
Respuesta: No puedo borrar archivo

Hola, gracias a los dos por responder.
Ok, entonces segun dicen los archivos a eliminar deben tener permisos 777. Paso a exlicar los archivos a eliminar serian albums de fotos, que son subidos online, intente darles permisos al subirlo pero no pude. Use CHMOD por FTP:

Cita:
// Cambiar permisos chmod por FTP

$ftp_server = "marcelaalmagro.webuda.com";
$ftp_user_name = "***";
$ftp_user_pass = "***";

$conn_id = ftp_connect($ftp_server);
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
if ((!$conn_id) || (!$login_result))
{
echo "FTP connection has failed!";
echo "Attempted to connect to $ftp_server for user $ftp_user_name";
exit;
}
echo ftp_chmod($conn_id, 0755, "/imagenes/".$name);
ftp_close($conn_id);


// Fin cambiar permisos CHMOD por FTP
Cambie mi usuario y contraseña de FTP por *** aproposito, el codigo que se ejecuta no tiene esos asteriscos.

Al usar ese codigo me tira este resultado:

Cita:
Warning: ftp_chmod() [function.ftp-chmod]: Could not change perms on /imagenes/Folder.jpg: No such file or directory in /home/a4293761/public_html/galeria/subir.php on line 65
No se que es lo que pasa.. ¿O si no de que otra forma podria darle los permisos correctos a las fotos al subirlas? Muchas gracias
  #5 (permalink)  
Antiguo 11/02/2011, 16:05
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: No puedo borrar archivo

Pues el error es bastante claro, dice que no existe el archivo al que le quieres cambiar los permisos. asegurate de que esta es correcta. (Pista: a simple vista creo que te sobra el "/" antes de "imagenes")
  #6 (permalink)  
Antiguo 11/02/2011, 18:55
Avatar de almagropaco_  
Fecha de Ingreso: marzo-2008
Ubicación: Mar del Plata
Mensajes: 854
Antigüedad: 16 años, 1 mes
Puntos: 25
Respuesta: No puedo borrar archivo

Hola, gracias por responder.
Ahora cambie esta linea:
Cita:
echo ftp_chmod($conn_id, 0755, "/imagenes/".$name);
Por esta, añadiendole la direccion completa del archivo:
Cita:
echo ftp_chmod($conn_id, 0755, "public_html/galeria/imagenes/".$name);
Ahora cambio el error, no dice que el directorio no existe, si no que dice que la operacion no es permitida. Sera que el server el el cual estoy hosteado no me deja?
Error:
Cita:
Warning: ftp_chmod() [function.ftp-chmod]: Could not change perms on public_html/galeria/imagenes/Folder.jpg: Operation not permitted in /home/a4293761/public_html/galeria/subir.php on line 65
Esta era el error de antes, donde claramente decia que no existia el directorio:
Cita:
Warning: ftp_chmod() [function.ftp-chmod]: Could not change perms on /imagenes/Folder.jpg: No such file or directory in /home/a4293761/public_html/galeria/subir.php on line 65
Segun creo ya no es error de codigo, si no que el servidor no me permite ese codigo. ¿De que otra manera podria cambiarle los permisos a fotos que subo a travez de un formulario? Obviamente que no sea manualmente, ya que cada vez que crearia un album tendria que ir a cambiar los permisos chmod de todas las fotos..

Etiquetas: borrar, unlink
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 08:29.