Página de downloads que identifica arquivos por extensão
Publicado por Fagner Fjas (última atualização em 27/07/2010)
[ Hits: 11.420 ]
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>
Classe em php para listar subdiretórios e arquivos em html (vs certa)
Listando arquivos do diretório
Upload de arquivos e validação de tipo do mesmo
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
fusermount3 no Ubuntu 25.10 - mantenha o perfil do AppArmor
[Resolvido] dlopen(): error loading libfuse.so.2 AppImages require FUSE to run.
Criação de diretórios e aplicação de restrições de acesso no Linux
Podem me chamar de 1mbecil :) (5)
Servidor de DNS BIND Ubuntu server (1)
Tem como instalar o Untapped no Linux? (2)
diferença entre o Tor baixado pelo Gerenciador de Aplicativos e o Tor ... (3)









