Atualizado em 02 de Outubro de 2013
Listar Arquivos Ordenado por Data com PHP
Olá pessoal,Ter que listar arquivos de uma pasta para determinado fim é um recurso muito interessante. Mas como listar arquivos ordenado/classificando por data com o PHP.
No post de hoje vamos ver como listar arquivos de uma pasta ordenando pela data de modificação do mesmo. Para realizar esta ação vamos ter que realizar quatro passos. São eles:
- Obter a listagem dos arquivos da pasta/diretório;
- Carrega todos arquivos da listagem para um Array, juntamente com seu nome e a data de sua modificação (comando filemtime()) como Ãndice do Array;
- Classifica o Array pelo Ãndice;
- Lista os Arquivos.
Vamos ver como fica o script em PHP:
<?php
// Obter a listagem dos Arquivos do diretório
$pasta = './imagens/';
if(is_dir($pasta))
{
$diretorio = dir($pasta);
while($arquivo = $diretorio->read())
{
if($arquivo != '..' && $arquivo != '.')
{
// Cria um Arrquivo com todos os Arquivos encontrados
$arrayArquivos[date('Y/m/d H:i:s', filemtime($pasta.$arquivo))] = $pasta.$arquivo;
}
}
$diretorio->close();
}
// Classificar os arquivos para a Ordem Crescente
ksort($arrayArquivos, SORT_STRING);
// Mostra a listagem dos Arquivos
foreach($arrayArquivos as $valorArquivos)
{
echo '<a href='.$pasta.$valorArquivos.'>'.$valorArquivos.'</a><br />';
}
?>
O script já esta bem auto-explicativo, em caso de dúvida comentem!!!
Este script ordena os arquivos para que fiquem em ordem Crescente, para que eles fiquem na ordem inversa (Decrescente) altere o comando ksort por krsort.
"Esta dica te ajudou de alguma forma?" Então ajude outras pessoas compartilhando este conteúdo com seus amigos! =)
Até a próxima.
Comentários

Rodolfo
Muito bom, ajudou Bastante, vlw.
14 de Setembro de 2015 - 20:49

Ramon Gutermann
06 de Maio de 2015 - 14:13

Mauricio Programador
Olá Ramon,
Basta usar a mesma função que usamos para atribuir a data ao Array, fica assim:
$valorArquivos.' - ' .date('Y/m/d H:i:s', filemtime($pasta.$arquivo))
Testa ai e qualquer coisa me avise.
abraço.
07 de Maio de 2015 - 10:12

Cristian
Sensacional!!!! 1000 pontos para vc! Obrigado!
29 de Abril de 2015 - 11:20

Norberto
18 de Março de 2015 - 13:47

Gustavo
Mds, eu procurei isso por toda parte, vlw msm
10 de Fevereiro de 2015 - 21:23

marcio lemos
29 de Julho de 2014 - 17:19