Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

grasi

Ordenação

Recommended Posts

Seguinte, tenho algumas imagens que são atualizadas todos os dias, tenho que dar print apenas na mais atual, o programa varre o diretório e compara, pega o maior que no caso é o mais atual. Só que não anda funcionando corretamente. O maior problema nessa ordenação é que o nome do arquivo segue a seguinte regra:brasil_DDHHMM.jpgonde:DD = dia com 2 dígitosHH = hora com 2 dígitosMM = minuto com 2 dígitosele fica me mostrando imagem do dia 24/03 sendo que existe a de hj, 05/04, ou seja no nome da imagem só tem como ordernar pelo dia, nao tem mes nem ano, tá super complicado, não fica certo, alguém tem alguma sugestão? (não tem como renomear as imagens, são geradas assim mesmo)<html><body><? global $mDir, $mArquivo, $mFileName, $mTFile, $mMapa, $mTNome, $i; $mDir = "./tempo-agora/brasil"; $mArquivo = dir($mDir); // dir no diretório $mTNome = ""; $mTFile = $maArquivo; while ($mTFile = $mArquivo->read()) { if ($mTFile > $mTNome) { $mTNome = $mTFile; } } $mArquivo->close(); $mMapa = $mTNome; print "<img src=\"$mDir/$mMapa\">\n";?></body></html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, eu achei uma possível solução para o seu problema. basta pegar o ultimo arquivo modificado (no caso, o último criado)

 

Seu código ficaria assim (aqui em casa funcionou) :

 

PHP

[*]

[*]<html>

[*]<body>

[*]<?

[*]#vai pegar o arquivo que tem a última data de modificação

[*]  $mDir = "./tempo-agora/brasil";

[*]  $mArquivo = dir($mDir);

[*]  $maisNovo = 0;

[*]  while($mTFile = $mArquivo->read()) {

[*]   if ($mTFile != "." && $mTFile != "..") {

[*]   if (!is_dir($mDir."/".$mTFile)) {

[*]   $cMod = filemtime($mDir."/".$mTFile);

[*]   }

[*]   if ($cMod > $maisNovo){

[*]   $lastModified = $cMod;

[*]   $mMapa = $mTFile;

[*]   }

[*]   }

[*]  }

[*]  $mArquivo->close();

[*]  print "<img src=\"$mDir/$mMapa\">\n";

[*]?>

[*]</body>

[*]</html>

[*]

 

 

Espero ter ajudado http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seguinte, testei aqui e o danado mostrou como atual a última imagem criada ontem, mas hj já tem uma, deveria ter mostrado a de hj que seriabrasil_060300.jpg e não a brasil_051800.jpg

Compartilhar este post


Link para o post
Compartilhar em outros sites

hm...estranho. A não ser qe o arquivo tenha sido alterado depois.Vou dar uma verificada.Aliás, ali na linha 15 troque por isto: $maisNovo = $cMod;e após o print, na linha abaixo coloque isto: clearstatcache();Caso nao dê certo, avise ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

ah, se quiser trocar na linha 12 o 'filemtime' por 'filectime', pode funcionar ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode também na hora de gravar a imagem fazer uma tabela que fará referencia a sua imagem, gravando o nome dela no banco e a data e hora que foi gravada. Fazendo isso é batata! Funciona PERFEITAMENTE!Abraços,Júnior

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.