Página de downloads que identifica arquivos por extensão

Publicado por Fagner Fjas (última atualização em 27/07/2010)

[ Hits: 10.999 ]

Homepage: https://fjas.com.br

Download 4687.classes.php




Trata-se de uma página de download de arquivos, onde cada arquivo é diferenciado com um ícone relativo a sua extensão.  Ex: o arquivo "Musica.mp3" aparecerá como um ícone de uma clave musical, "apostila.pdf" aparecerá com um ícone do adobe reader. Também mostra a data e a hora em que os arquivos foram enviados ao servidor ou alterados.

Obs.: A variável '$diret_" faz referência ao diretório onde estão os arquivos, as imagens dos ícones devem estar localizadas em um diretório chamado "icones/". Nomeei os ícones com um padrão pra facilitar o reconhecimento. Por exemplo, o ícone para arquivos .pdf "pdf-icon.png", arquivos txt "txt-icon.png", exe "exe-icon.png".

Depois de compreender todo o código, é só usar um script de upload de arquivos, como o do nosso colega Raphael Leal Gavino, o link segue logo abaixo.

http://www.vivaolinux.com.br/script/Upload-de-arquivos/

Precisa apenas fazer o upload, o script lê o diretório que você determinará pra receber os arquivos e atualiza a página com o novo ícone.

  



Esconder código-fonte

//arquivo classes.php
<?php
 class arquivos
  { public $array_iten;
    function listar($diret_)
     { $caminho = opendir($diret_);
       if($caminho)
        { $n = 0;
          while($itens = readdir($caminho))
           { if($itens=='.' or $itens=='..')
              {
              }
             else
              { $this -> array_iten[$n] = $itens;
                $n = $n + 1;
              }
           }
        }
       else
        { echo 'Diretórios Não encontrados';
        }
     }

    function indentifica_arquivo($diret_)
     { $array_itens = $this -> array_iten;
       for($i=0; $i<count($array_itens); $i++)
        { $extencao = explode( '.', $array_itens[$i]);
          $icon = file_exists('icones/'. $extencao[1] .'-icon.png"');
          if($icon)
           { $icon_ = $extencao[1];
           }
          else
           { $icon_ = 'none';
           }
          echo '<div style="text-align: center;
                           float: left;
                           margin:5px;
                           border-left: 0px dashed #459953;
                           padding: 5px;
                           text-decoraction: none;
                           outline: 0;
                           ">
               <a style="border: 0px;" href="'. $diret_ .'/'. $array_itens[$i] .'" border="0"><img src="icones/'. $icon_ .'-icon.png" width="75"> </a> <br> '. $extencao[0] .'.'. $extencao[1] .' <br> ' ;
          echo date('d/m/Y - H:i:s', fileatime($diret_ .'/'. $array_itens[$i] )) .'</div>';
        }
     }
  }
?>


////// arquivos onde vai ser requerida a classes.php

<html>
 <head>
 </head>
 <body>
  <?php
   $diret_ = 'arquivos-1';
  
   require_once('classes.php');
   $lista = new arquivos;
   $array_arquivo = $lista -> listar($diret_);
   $lista -> indentifica_arquivo($diret_);
  ?>
 </body>
</html>

Scripts recomendados

Apresentar imagens - Aleatorio na Pagina (todos os Formatos)

Download de imagem

Programa de ordem de serviços

Gerando vários arquivos com PHP usando MPDF

Classe em php para listar subdiretórios e arquivos em html (vs certa)


  

Comentários
[1] Comentário enviado por fagnerfjas em 27/07/2010 - 21:43h

Depois vou enviar uma nova versão desse script, é que quando fui colocar ele no meu site, pintou outras idéias, tipo tamanho do arquivo, estilos e tooltype.
Pra quem quiser pegar logo a nova versão, coloquei o script pra download no meu site é só acessar a página de downloads em http://fjas.playnation.org

[2] Comentário enviado por mribeiro82 em 28/07/2023 - 17:30h


saiu nova versao?

[3] Comentário enviado por fagnerfjas em 28/07/2023 - 18:03h


[2] Comentário enviado por mribeiro82 em 28/07/2023 - 17:30h


saiu nova versao?


Nossa cara isso bem antigo, faz muitos anos que não vejo o Viva o Linux,
Acabei esquecendo de fazer uma nova versão, mas ainda trabalho com PHP. vou fazer uma e subir nessa próxima semana, pra honrar minha promessa :)


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts