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: 22 años, 4 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$abrefilesize$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 )
    {
        
$color "FFFFFF";
        
$b $b 1;
    } 
    else
    {
        
$color "CCCCCC";
        
$b $b 1;
    } 
    
$info "$path/";
    if ( 
strlen$img[$key][0] ) > 23 )
    {
        
$file substr$img[$key][0], 023 ) . "...";
    } 
    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