Página de downloads que identifica arquivos por extensão
Publicado por Fagner Fjas (última atualização em 27/07/2010)
[ Hits: 11.143 ]
Homepage: https://fjas.com.br
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.
//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>
Eliminar Todos os sub-diretórios de um Diretório
Manipulação de arquivos CSV para gerar instrução SQL
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Falta pacotes de suporte ao sistema de arquivos (Gerenciador de discos... (6)
A area de trabalho ficou preta (16)
Agora temos uma assistente virtual no fórum!!! (244)
Servidor said: 530 5.7.0 Must issue a STARTTLS command first (in r... (0)