Ver Mensaje Individual
  #2 (permalink)  
Antiguo 17/06/2003, 03:14
Avatar de HIa
HIa
 
Fecha de Ingreso: noviembre-2002
Ubicación: Cartago
Mensajes: 121
Antigüedad: 23 años, 11 meses
Puntos: 0
Continua el codigo...

Código PHP:
$path = ( 'upload' ); //directoro al cual quiere verrificar su contenido
// abro el directorio raiz
$handle = opendir( $path );
$ficheros = 0;
$archivos = 0;
$ficheros = 0;
$a = 0; 
// leo los archivos del directorio
while ( $file = readdir( $handle ) )
{ 
    
// Paso a minuscula los nombres de los ficheros
    
$file = strtolower( $file );
    
$extencion = explode( ".", $file );
    
$extencion = end( $extencion );
    
$tipo = filetype( $path . "/" . $file ); 
    
// leo el tamaño de los ficheros
    
$tama = ( filesize( "$path/$file" ) ); 
    
// formateo los numeros a dos decimales
    
if ( $tama >= 1073741824 )
    {
        
$tama = round( $tama / 1073741824 * 100 ) / 100 . " " . "Gb";
    } 
    else if ( 
$tama >= 1048576 )
    {
        
$tama = round( $tama / 1048576 * 100 ) / 100 . " " . "Mb";
    } 
    else if ( 
$tama >= 1024 )
    {
        
$tama = round( $tama / 1024 * 100 ) / 100 . " " . "Kb";
    } 
    else
    {
        
$tama = $tama . " " . "b";
    } 
    
// Obtengo la fecha del último cambio en el archivo
    
$modi = date( "j.n.Y", filemtime( "$path/$file" ) ); 
    
// Se obtienen los comentarios del archivo de texto
    // Se muestra el icono de las imagenes si el tipo es permitido y el tamaño es mayor a 0. Si no es un directorio
    
if ( ( @file_exists( "$path/$file" ) ) and ( $tipo != "dir" ) )
    {
        if ( !@
fopen ( "$path/$file.cmt", "r" ) )
        {
            
$coment = "Archivo sin comentarios";
            
$importancia = "<img src = \"imagenes/warn-1.gif\" alt = \"Sin importancia definida\">";
            
$ikon = "off";
        } 
        else
        
$file = file( "$path/$file.cmt");
        {foreach (
$file as $indice)
  {
   
$linea = explode("|",$file[$indice]);    
    if (
$file[$indice] == 0)
     {
        
$cometario   = $linea[1];
        
$importancia = $linea[0];
     } 
      else
     {
      if (
$linea[0] == $user)
    {
     
$ikon = $linea[1];
     
$esta = true;
     break;
    }
         else
        {
     
$esta = false;    
        }    
     }
  }
if (
$esta == false)
 {
  
nuevo_f = fopen($archivo, "a+");
  
nuevo_u = fputs($archivo, "$user{|on}\n");
  
nuevo_f = fclose($archivo);
 }
        } 
    } 

    if ( 
in_array( $extencion, $permitidos ) )
    { 
        
// Creo un array que contendra todos los archivos aceptados
        
$img[$a][0] = $file; //nombre del archivo
        
$img[$a][1] = $tama; //tamaño del fichero
        
$img[$a][2] = $modi; //fecha de modificacion
        
$img[$a][3] = $coment; //comentario del archivo
        
$img[$a][4] = $importancia; //Nivel de importancia del archivo
        
$img[$a][5] = $extencion; //icono de la extencion
        
$img[$a][6] = "<img src =\"imagenes/$ikon.gif\">"; //icomo de revision
        
$a = $a + 1;
        
$archivos = $archivos + 1;
    } 
} 
else
{ 
    
// reviso que no sean ".", ".." o que sea un archivo desconocido?
    
if ( ( $file != '.' ) and ( $file != '..' ) and ( filetype( "$path/$file" ) != "block" ) )
    {
        if ( !@
fopen ( "$path/$file.cmt", "r" ) )
        {
            
$coment = "Archivo sin comentarios";
            
$importancia = "<img src = \"imagenes/warn-1.gif\" alt = \"Sin importancia definida\">";
        } 
        else
        {
            
$abre = fopen( "$path/$file.cmt", "r+" );
            
$coment = fread( $abre, filesize( $abre ) );
            
$importancia = "<img src = \"imagenes/warn-$coment[1].gif\" alt = \"Nivel de importancia\">";
        } 
        
// Creo un array que contendra todos los posibles directorios
        
$carpeta[$a][0] = $file;
        
$carpeta[$a][1] = $coment;
        
$a = $a + 1;
        
$ficheros = $ficheros + 1;
    } 
} 
} 
// cierro el $path
closedir( $handle );
// Cuento el numero de ficheros y los muestro
if ( ( !isset( $img ) ) )
{
echo ( 
"<center><B>$idioma[11]</b></center><br>" );
} 
else
{
// Combino ambos arrays para que todo quede ordenado
// $dir = array_merge($carpeta,$img);  //no ahora
// Recorro cada uno de los dos arrays y regreso el valor de cada uno
$b = 1;
foreach ( 
$img as $key => $value )
{
    if ( 
$b % 2 )
    {
        
$color = "FFFFFF";
        
$b = $b + 1;
    } 
    else
    {
        
$color = "CCCCCC";
        
$b = $b + 1;
    } 
    
$info = "$path/";
    if ( 
strlen( $img[$key][0] ) > 23 )
    {
        
$file = substr( $img[$key][0], 0, 23 ) . "...";
    } 
    else
    {
        
$file = $img[$key][0];
    } 
    echo 
"<tr bgcolor=\"#$color\">";
    echo 
"<td><center>{$img[$key][6]}</center></td>";
    echo 
"<td>&nbsp;<a href = \"$path/{$img[$key][0]}\"  title=\"Comentarios: \n{$img[$key][3]}\" target = \"_blank\">$file</td>";
    echo 
"<td><div align=\"right\">{$img[$key][1]}</div></td>";
    echo 
"<td><center>{$img[$key][2]}</center></td>";
    echo 
"<td><center>{$img[$key][4]}</center></td>";
    echo 
"<td><center><img src = \"imagenes/formato/t_{$img[$key][5]}.gif\" alt = \"Documento tipo: {$img[$key][5]}\"></center></td>";
    echo 
"</tr>";
} 
$dir = count( $img );
$carpeta = @count( $carpeta ); //Si carpeta no esta definida me da 0
echo "</table>";
echo 
"<br><center>Se han encontrado <b>[ $dir ]</b> archivos y <b>[ $carpeta ]</b> directorios</center>";
echo 
"</body></html>";
} 

?> 

hay ciertas cosas que tomar en cuenta:[list=1][*]Debes pasarle al script la variable $_POST['user'] de algun formulario en mi caso era login.php[*]Cambia el header por la ubicacion de tu formulario de registro[*]Falta de incluir el mod de idiomas que contiene un arreglo con todos los mensajes del script.. ($idioma[1] = "hola....")[*]Si estas en linux poner los permisos de lectura/escritura a la carpeta[*]La ruta path es donde esta la carpeta a la que quieres subir los archivos[*]el arreglo "permitidos", son loos tipos de extencion que se pueden subir, por ahora la validacion mime la dejo para otra version[*]por lo dema pregunten que ya me canse....[/list=1]

ahorita estoy subiendo el script alycos para probarlo en ambiente "real" luego les doi el URL
__________________
Siempre hay algo nuevo que aprender