Borrar imagenes por ftp en php

Leunamal

Hola, estoy intentando borrar imágenes que estan en mi hosting. Borrar las borra, pero misteriosamente para algunas imágenes tengo que darle por lo menos 20 veces a refrescar(actualizar) la página.

El fragmento de código que uso es el siguiente:

$res=mysql_query($ConsImagen);
$row=@mysql_fetch_array($res);
$imagen=$row["Imagen"];


include('Scripts/subir.php'); //Incluye el archivo de funciones
if(!empty($imagen)){
$id_ftp=ConectarFTP();
$arr_cadena = split('/',$imagen );
$fichero=array_pop($arr_cadena);
$delete = ftp_delete ($id_ftp, $fichero);
if (!$delete) {
$status = "Error al borrar: " . $base_archivo;
}else {
$status = "Exito al borrar: " . $base_archivo;
}

ftp_quit($id_ftp);

No sé si debo de cambiar algo para que se actualice solo. Yo creo que tengo que darle a actualizar la página con las imágenes que pesan más, y no lo hago con las que pesan poco.

¿Es correcta la forma que uso para borrar?

PDT: Pasad de :
$arr_cadena = split('/',$imagen );
$fichero=array_pop($arr_cadena);

Es para sacar el nombre de la imagen.

BlisZ

yo uso la funcion unlink

erdanblo

Comprueba si las borrar con el cliente FTP y no en el navegador.

(me parece que se te queda en el caché del navegador y piensas que no te las ha borrado cuando en realidad si te la has borrado)

Pruedes probar a actualizar pulsando CONTROL+F5

Leunamal

Con lo de CTRL + F5 sigue igual, como si fuese lo de F5. Lo ideal es que saliese en la ventana del navegador(creo que se llama barra de estado), el porcentaje por el cual va la petición de eliminación.

Lo de unlink creo que no es muy seguro. Prefiero usar una cuenta ftp adicional para el manejo de las carpetas que podrían resultar más conflictivas.

Gracias a los 2 por contestar.

Si encuentro la solución la pondré por si puede ayudar a más gente.

Saludos

BlisZ

como que no es muy seguro? :S

Leunamal

ni idea tio, eso fue lo que lei ayer. Puede que estuviesen equivocados. Lo que sé es que el ftp_delete es poco fiable. Falla mucho.

SiCk

unlink es seguro, como todo, si borras lo que no debes te la cargas xD

De todas maneras, puedes usar exec() y borrarlo usando unix, si te parece más seguro.

Usuarios habituales

  • SiCk
  • Leunamal
  • BlisZ
  • erdanblo