Listar Arquivos Ordenado por Data com PHP

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

Sua foto do perfil

Rodolfo

Muito bom, ajudou Bastante, vlw.

14 de Setembro de 2015 - 20:49

Sua foto do perfil

Ramon Gutermann

06 de Maio de 2015 - 14:13

Sua foto do perfil

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

Sua foto do perfil

Cristian

Sensacional!!!! 1000 pontos para vc! Obrigado!

29 de Abril de 2015 - 11:20

Sua foto do perfil

Norberto

18 de Março de 2015 - 13:47

Sua foto do perfil

Gustavo

Mds, eu procurei isso por toda parte, vlw msm

10 de Fevereiro de 2015 - 21:23

Sua foto do perfil

marcio lemos

29 de Julho de 2014 - 17:19

NEWSLETTER

Receba dicas de programação
em seu e-mail

TWITTER

Acompanhe tudo o que rola
com Mauricio Programador

NEWSLETTER