Foros del Web » Programando para Internet » PHP »

Listar contenido de carpeta y borrar archivos

Estas en el tema de Listar contenido de carpeta y borrar archivos en el foro de PHP en Foros del Web. Hola estoy utilizando este codigo ,pero queria si me podrian ayudar a modificarlo, le queria agregar que cuando borre la imagen pequeña de la carpeta ...
  #1 (permalink)  
Antiguo 26/07/2012, 17:55
Avatar de flashmax  
Fecha de Ingreso: julio-2012
Ubicación: Bs.As. Argentina
Mensajes: 507
Antigüedad: 11 años, 8 meses
Puntos: 86
Listar contenido de carpeta y borrar archivos

Hola estoy utilizando este codigo ,pero queria si me podrian ayudar a modificarlo, le queria agregar que cuando borre la imagen pequeña de la carpeta thumbs tambien borre la imagen grande que tiene el mismo nombre y se ubican en la carpeta imagenes.

buscar.php
Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
<title>Explorando /<? echo $_GET['ruta']; ?></title> 
</head> 
<body> 
<pre> 
<? 

if (empty($_GET['ruta']) || ereg("^\.", $_GET['ruta'])) { 
    $dir = './thumbs/'; 
} 
else { 
    $dir = $_GET['ruta']; 
} 
if (is_dir($dir)) { 
     
    function tamano($bytes) { 
        $largo = strlen($bytes); 
        if ($largo < 4) { 
            $divisor = 1; 
            $unidad = 'B'; 
        } 
        else if ($largo > 3 && $largo < 7) { 
            $divisor = 1024; 
            $unidad = 'KB'; 
        } 
        else if ($largo > 6 && $largo < 10) { 
            $divisor = pow(1024, 2); 
            $unidad = 'MB'; 
        } 
        else if ($largo > 9 && $largo < 12) { 
            $divisor = pow(1024, 3); 
            $unidad = 'GB'; 
        } 
        else { 
            $divisor = pow(1024, 4); 
            $unidad = 'TB'; 
        } 
        $salida[0] = round(($bytes / $divisor), 2); 
        $salida[1] = $unidad; 
        return $salida; 
    } 

    $gd = opendir($dir); 
    if ($gd) { 
        $rn = "\r\n"; 
        while (($archivo = readdir($gd)) !== false) { 
            if (ereg("^(.)*\.[a-zA-Z0-9]{1,3}$", $archivo)) { 
                if ($archivo == 'explorar.php') { break; } 
                $extension = strtolower(substr($archivo, -3)); 
                //Para diferente extension diferente icono a mostrar. Añade las que quieras.
                  switch ($extension) { 
                    case 'mp3': 
                    case 'wma': 
                        $icono = 'snd'; 
                            break;
                    case 'doc': 
                    case 'txt': 
                      $icono = 'word'; 
                            break;
                    case 'pdf': 
                      $icono = 'pdf'; 
                            break;
                    case 'php': 
                    case 'htm':                     
                        $icono = 'web'; 
                        break;  
                    case 'jpg';
                    case 'gif'; 
                    case 'tif'; 
                    case 'png'; 
                        $icono = 'pic'; 
                        break;                     
                    default: 
                        $icono = 'unk'; 
                        break; 
                } 
                 
                $iconos [] = $icono; 
                $archivos[] = $archivo; 
                $fechas[] = $fecha; 
                $tamanos[] = tamano(filesize($dir.$archivo)); 
            } 
            else if ($archivo != '.' && $archivo != '..') { 
                $carpetas[] = $archivo; 
            } 
        } 
        closedir($gd); 
         
        if ($dir != '.') { 
            $ruta = explode('/', $_GET['ruta']); 
            $tot_subdir = count($ruta) - 2; 
            krsort($ruta); 
            $volver = '<img src="iconos/bck.png"> <a href="?ruta='; 
            for ($i = 0; $i < $tot_subdir; $i++) { 
                $volver .= $ruta[$i].'/'; 
            } 
            $volver .= '">volver</a>'.$rn; 
             
        } 
         echo '<h1><font face="Verdana" color="#FF9933">'.$dir.'</font></h1>';
         if ($dir != '.') echo $volver;
         
        if (is_array($carpetas)) { 
            natcasesort($carpetas); 
            foreach ($carpetas as $valor) { 
                echo '<img src="iconos/fol.png"> <a href="?ruta='.$_GET['ruta'].urlencode($valor).'/">'.$valor.'</a>    '.$rn; 
            } 
        } 
         
        if (is_array($archivos)) { 
            if (natcasesort($archivos)) { 
                foreach ($archivos as $clave => $valor) { 
                    echo '<img src="iconos/'.$iconos[$clave].'.png"> <img src="'.$dir.urlencode($valor).'">';
                    printf("%6.2f ", $tamanos[$clave][0]); 
                    echo $tamanos[$clave][1].'   ';
                    echo '<a href="./borrar.php?fichero='.$valor.'">Borrar</a>';
                    if ($dir=='./'){
                    }
                    echo $rn; 
                } 
            } 
        } 
    } 
} 
else { 
    echo 'El directorio \''.$dir.'\' no es v&aacute;lido.'.$rn;;
                $volver = '<img src="bck.png"> <a href="?ruta='; 
            for ($i = 0; $i < $tot_subdir; $i++) { 
                $volver .= $ruta[$i].'/'; 
            } 
            $volver .= '">volver</a>'.$rn; 
            echo $volver;  
} 
?> 
</pre>
borrar.php
Código:
<?php
$fichero=$_GET["fichero"];
$path=$_SERVER['DOCUMENT_ROOT']."/listar/thumbs/".$fichero;
unlink($path);
echo "<script> alert (\"Archivo borrado con éxito\"); </script>";
echo "<script language=Javascript> location.href=\"buscar.php\"; </script>";
?>
  #2 (permalink)  
Antiguo 03/08/2012, 09:43
Avatar de flashmax  
Fecha de Ingreso: julio-2012
Ubicación: Bs.As. Argentina
Mensajes: 507
Antigüedad: 11 años, 8 meses
Puntos: 86
Respuesta: Listar contenido de carpeta y borrar archivos

Bueno gente estuve haciendo algunos cambios en el script y logre el objetivo funciona bien pero queria compartir el codigo haber que opinan si ven algún error o así esta bien.

buscar.php
Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
<title>Explorando /<? echo $_GET['ruta']; ?></title> 
</head> 
<body> 
<pre> 
<? 

if (empty($_GET['ruta']) || ereg("^\.", $_GET['ruta'])) { 
    $dir = './thumbs/';
	$dir2 = './imagenes/';
} 
else { 
    $dir = $_GET['ruta'];
	$dir2 = $_GET['ruta']; 
} 
if (is_dir($dir2)) 
{ 
     
    function tamano($bytes) { 
        $largo = strlen($bytes); 
        if ($largo < 4) { 
            $divisor = 1; 
            $unidad = 'B'; 
        } 
        else if ($largo > 3 && $largo < 7) { 
            $divisor = 1024; 
            $unidad = 'KB'; 
        } 
        else if ($largo > 6 && $largo < 10) { 
            $divisor = pow(1024, 2); 
            $unidad = 'MB'; 
        } 
        else if ($largo > 9 && $largo < 12) { 
            $divisor = pow(1024, 3); 
            $unidad = 'GB'; 
        } 
        else { 
            $divisor = pow(1024, 4); 
            $unidad = 'TB'; 
        } 
        $salida[0] = round(($bytes / $divisor), 2); 
        $salida[1] = $unidad; 
        return $salida; 
    } 

	$gd = opendir($dir2); 
    if ($gd) { 
        $rn = "\r\n"; 
        while (($archivo = readdir($gd)) !== false) { 
            if (ereg("^(.)*\.[a-zA-Z0-9]{1,3}$", $archivo)) { 
                if ($archivo == 'explorar.php') { break; } 
                $extension = strtolower(substr($archivo, -3)); 
                //Para diferente extension diferente icono a mostrar. Añade las que quieras.
                  switch ($extension) { 
                    case 'mp3': 
                    case 'wma': 
                        $icono = 'snd'; 
                            break;
                    case 'doc': 
                    case 'txt': 
                      $icono = 'word'; 
                            break;
                    case 'pdf': 
                      $icono = 'pdf'; 
                            break;
                    case 'php': 
                    case 'htm':                     
                        $icono = 'web'; 
                        break;  
                    case 'jpg';
                    case 'gif'; 
                    case 'tif'; 
                    case 'png'; 
                        $icono = 'pic'; 
                        break;                     
                    default: 
                        $icono = 'unk'; 
                        break; 
                } 
                 
                $iconos [] = $icono; 
                $archivos[] = $archivo; 
                $fechas[] = $fecha; 
                $tamanos[] = tamano(filesize($dir2.$archivo));
				 
            } 
            else if ($archivo != '.' && $archivo != '..') { 
                $carpetas[] = $archivo; 
            } 
        } 
        closedir($gd); 
         
        if ($dir != '.');
		if ($dir2 != '.') { 
            $ruta = explode('/', $_GET['ruta']); 
            $tot_subdir = count($ruta) - 2; 
            krsort($ruta); 
            $volver = '<img src="iconos/bck.png"> <a href="?ruta='; 
            for ($i = 0; $i < $tot_subdir; $i++) { 
                $volver .= $ruta[$i].'/'; 
            } 
            $volver .= '">volver</a>'.$rn; 
             
        } 
         echo '<h1><font face="Verdana" color="#FF9933">'.$dir.'</font></h1>';
		 if ($dir != '.') echo $volver;
         
        if (is_array($carpetas)) { 
            natcasesort($carpetas); 
            foreach ($carpetas as $valor) { 
                echo '<img src="iconos/fol.png"> <a href="?ruta='.$_GET['ruta'].urlencode($valor).'/">'.$valor.'</a>    '.$rn; 
            } 
        } 
         
        if (is_array($archivos)) { 
            if (natcasesort($archivos)) { 
                foreach ($archivos as $clave => $valor) { 
                    echo '<img src="iconos/'.$iconos[$clave].'.png"> <img src="'.$dir.urlencode($valor).'">';
					echo '<img src="iconos/'.$iconos[$clave].'.png"><a href="'.$dir2.urlencode($valor).'">'.$valor.'</a>    ';
                    printf("%6.2f ", $tamanos[$clave][0]); 
                    echo $tamanos[$clave][1].'   ';
                    echo '<a href="./borrar.php?fichero='.$valor.'">Borrar</a>';
                    if ($dir=='./');
					if ($dir2=='./');{
                    }
                    echo $rn; 
                } 
            } 
        } 
    } 
} 
else { 
    echo 'El directorio \''.$dir.'\' no es v&aacute;lido.'.$rn;;
                $volver = '<img src="bck.png"> <a href="?ruta='; 
            for ($i = 0; $i < $tot_subdir; $i++) { 
                $volver .= $ruta[$i].'/'; 
            } 
            $volver .= '">volver</a>'.$rn; 
            echo $volver;  
} 
?> 
</pre>
borrar.php
Código:
<?php
$fichero=$_GET["fichero"];
$path=$_SERVER['DOCUMENT_ROOT']."/listar/thumbs/".$fichero;
unlink($path);
$path=$_SERVER['DOCUMENT_ROOT']."/listar/imagenes/".$fichero;
unlink($path);
echo "<script> alert (\"Archivo borrado con éxito\"); </script>";
echo "<script language=Javascript> location.href=\"buscar.php\"; </script>";
?>

Etiquetas: contenido, html, imagenes, carpetas
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 16:55.