Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

kenny

[Resolvido] Ordenar Ficheiros por data

Mensagens Recomendadas

kenny

Boas estou com uma duvida eu tenho este ficheiro PHP para ir buscar uns ficheiros a um diretorio FTP.

Mas queria ordenar los por data como posso fazer lo?

 while($file = $contents[$count])
	{
$data[$count][year] = substr($file,35,2); // position 11 because of: "warserver1-09...
$data[$count][month] = substr($file,37,2);
$data[$count][day] = substr($file,39,2);
$data[$count][hour] = substr($file,41,2);
$data[$count][minute] = substr($file,43,2);
$data[$count][map] = substr($file,46,-4);
$data[$count][name] = $file;
$count++;
 }

 echo ("<table class='TableReports'>");
 echo ("<tr align='center'>");
 echo ("<td>Mapa</td>");
 echo ("<td>Data</td>");
 echo ("</tr>");

foreach($data as $field)
{
 $nome_demo = $field[name];
 echo ("<td>$field[map]</td>");
 echo ("<td>$field[day]/$field[month]/20$field[year] - $field[hour]:$field[minute]</td>");
 echo ("</tr>");
}
echo ("</table>");

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

$files = [];
foreach($contents as $file) {
   $time = mktime(substr($file,41,2),  // hours
                  substr($file,43,2),  // minutes
                  0,                   // seconds
                  substr($file,37,2),  // month
                  substr($file,39,2),  // day
                  substr($file,35,2)); // year
   $files[$time] = array('name' => $file,
                         'map' => substr($file,46,-4));
}

echo ('<table class="TableReports">');
echo ('<tr>');
echo ('<td>Mapa</td>');
echo ('<td>Data</td>');
echo ('</tr>');

ksort($files);
foreach($files as $time => $file) {
 echo ('<tr>');
 echo ('<td>'.$file['map'].'</td>');
 echo ('<td>'.date('Y/m/d H:i:s', $time).'</td>');
 echo ('</tr>');
}
echo ('</table>');

Editado por HappyHippyHippo
  • Voto 1

IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

o que estou a ver são ficheiro ordenados por data ... por isso não faço ideia de onde tiraste a ideia de que não funcionou


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
kenny

Não o primeiro da lista está com a data de 26/04 (26 de Abril) e o ultimo da lista com 24/05 (24 de Maio)

Editado por kenny

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

Não o primeiro a aparecer na list está com a data

2015/04/26 e o ultimo na lista é

2015/05/24

sim ... sabes ordenar datas ? é que parece que não ...

Editado por HappyHippyHippo

IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

que função estou a usar no primeiro código para ordenar o array ?

que função disse para usares ?


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

mktime ?

achas mesmo que é essa a função que está a ordenar o array ?

não achas que existe no código que te apresentei algo que está claramente no nome o que está a fazer ?


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
kenny

O ksort mas como posso fazer o reverse?

Eu simplesmente podia tentar ordenar com a data que vem no nome do ficheiro nao seria mais fácil ?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

mas que ksort !!! eu estou a dizer para usares o krsort !!!

quantas vezes é necessário o dizer ?


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
kenny

Obrigado HappyHippyHippo resultou.

Desculpa a complicação nao estava a perceber que havia duas funções ksort e krsort.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.