Foros del Web » Programando para Internet » PHP »

detectar imagenes en carpèta y borrarlas

Estas en el tema de detectar imagenes en carpèta y borrarlas en el foro de PHP en Foros del Web. hola , tengo un sitio en que los usuarios suben imagenes, y cometi el gran error que cuando el usuario borra las imagenes permanecen en ...
  #1 (permalink)  
Antiguo 19/06/2006, 12:56
 
Fecha de Ingreso: febrero-2006
Mensajes: 208
Antigüedad: 11 años, 10 meses
Puntos: 0
Información detectar imagenes en carpèta y borrarlas

hola , tengo un sitio en que los usuarios suben imagenes, y cometi el gran error que cuando el usuario borra las imagenes permanecen en el servidor, ya que vincule el nombre de la imagen que esta en la bd al archivo que esta en el servidor y no utilice la funcion unlink para borrar el archivo.


se que para borrar las fotos necesitamos la funcion unlink() se utilizarla y todo eso, lo que quiero es que me detecte las imagenes de la carpeta y que discrimine entre las que se vinculan a la base de datos y las que no ¿como podria hacerlo?

muchas gracias de antemano
__________________
michelson
-----------------
crossing snow mountains with a yamaha bike
  #2 (permalink)  
Antiguo 19/06/2006, 13:05
 
Fecha de Ingreso: noviembre-2005
Mensajes: 112
Antigüedad: 12 años, 1 mes
Puntos: 2
Aca te paso un código que lista todos los archivos de un directorio, quizas si lo reformas un poco, le pones que solo liste los archivos con determinada extensión, le sacas lo de los directorios, y le agregas una consulta a la base de datos que compare si el nombre del archivo esta o no en la tabla donde tenes las fotos, salga lo que queres, es lo que se me ocurre, debería funcionar.
Saludos y disculpa que no te de algo mas adecuado a tu casa, es lo que tengo.
Código PHP:
<?
if ($_GET['dir']==""){header("Location:nav.php?dir=/./"); exit;}
else {
$dir $_GET['dir'];
$directorio opendir($dir);
while (
$archi readdir($directorio))
{
    if (
is_dir("$dir/$archi")) {$dirs[] = $archi;}
    else {
$archis[] = $archi;}
}
foreach (
$dirs as $dr){
if (
$dr=="."){}
elseif (
$dr==".."){
$adir explode ("/",$dir);
$n count($adir) - 1;
for(
$nn=0;$n>$nn;$nn++){ if($nn>0){$mdir .= "/";} $mdir .= $adir[$nn]; }
echo 
"<a href=\"nav.php?dir=$mdir\">$dr</a><br/>";
}
else{echo 
"<a href=\"nav.php?dir=$dir/$dr\">$dr</a><br/>";}}
echo 
"<br/>";
if (
is_array($archis)) foreach ($archis as $ar){echo "$ar <br/>";}
closedir($directorio);
}
?>
__________________
PuertaX.Net
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 19:47.