Lista Arquivos de um Diretório
Olá amigo, não sou usuário avançado, conseguir um código-fonte que lista arquivos de uma pasta no servidor, esses fontes listavam apenas os arquivos, daí eu dei uma incrementada nele para além dos arquivos ele listar também o tamanho do arquivo e a data da última modificação, segue ANEXO como ele está exibindo os resultados com perfeição.
A minha dificuldade é que ele lista os arquivos da pasta por ordem alfabética de A a Z e eu gostaria muito que essa lista de arquivos fosse exibida por ordem de data de modificação decrescente, da mais atual para a mais antiga, e não estou conseguindo realizar essa tarefa, gostaria muito da ajuda dos amigos para solucionar esse ocorrido, desde já agradeço a ajuda de todos.
Segue o código-fonte
<?php
//$diretorio = "D:\SERVIDOR-APACHE\PATRIMONIO TECNOLOGIA\images";
$diretorio = "/home/patrimonio/www/sites/default/files/ftpdata/download/Acesso Remoto"; //USADO PARA LISTAR OS ARQUIVOS DA PASTA
$url = "sites/default/files/ftpdata/download/Acesso Remoto/"; // USADO PARA FAZER O LINK DE DOWNLOAD
// abre o diretório
$ponteiro = opendir($diretorio);
// monta os vetores com os itens encontrados na pasta
while ($nome_itens = readdir($ponteiro)) {
$itens[] = $nome_itens;
}// ordena o vetor de itens
sort($itens);
// percorre o vetor para fazer a separacao entre arquivos e pastas
foreach ($itens as $listar) {
// retira "./" e "../" para que retorne apenas pastas e arquivos
if ($listar!="." && $listar!=".."){
// checa se o tipo de arquivo encontrado é uma pasta
if (is_dir($listar)) {
// caso VERDADEIRO adiciona o item à variável de pastas
$pastas[]=$listar;
} else{// caso FALSO adiciona o item à variável de arquivos
$arquivos[]=$listar;
}
}
}// lista as pastas se houverem
if ($pastas != "" ) {
foreach($pastas as $listar){
print "";}
}// lista os arquivos se houverem
if ($arquivos != "") {
foreach($arquivos as $listar){
//CONDICAO PARA NOMEAR EM BYTES, KB, MB, GB, TB
$tamanho = filesize("$url/$listar");
$kb = "1024";
$mb = "1048576";
$gb = "1073741824";
$tb = "1099511627776";
if($tamanho<$kb){
$tamanho_resposta = ($tamanho." bytes");
}else if($tamanho>=$kb&&$tamanho<$mb){
$kilo = number_format($tamanho/$kb,2);
$tamanho_resposta = ($kilo." KB");
}else if($tamanho>=$mb&&$tamanho<$gb){
$mega = number_format($tamanho/$mb,2);
$tamanho_resposta = ($mega." MB");
}else if($tamanho>=$gb&&$tamanho<$tb){
$giga = number_format($tamanho/$gb,2);
$tamanho_resposta = ($giga." GB");
}
// FIM CONDICAO PARA NOMEAR EM BYTES, KB, MB, GB, TB
// DATA DA ULTIMA MODIFICACAO
$modificado = date("d/m/Y H:i:s", filemtime("$url/$listar"))."<br>";
// FIM DATA DA ULTIMA MODIFICACAO
//echo"$modificado";
// FAZ A LISTA DE XIBICAO DOS AQRUIVOS DO DIRETORIO
// FAZ A LISTA DE XIBICAO DOS AQRUIVOS DO DIRETORIO
echo"
<tr>
<td width='438' height='30' bgcolor='#ffffff'><p><font size='2'> <a href='$url/$listar' target='_blank'>$listar</a></font></p></td>
<td width='192' bgcolor='#ffffff'><p><font size='2'> $tamanho_resposta</font></p></td>
<td width='340' bgcolor='#ffffff'><p><font size='2'> $modificado</font></p></td>
<td width='202' bgcolor='#ffffff'><p align='center'><a href='$url/$listar' target='_blank'><img src='images/nuvem.jpg'/></a></p></td>
</tr>
";
}
} else {
echo "<p><font color='#ff0000' size='3'>Não há nenhum arquivo.</font><p><br>";
}
echo"</table>"
?>

Discussão (0)
Carregando comentários...