grasi 0 Denunciar post Postado Abril 5, 2005 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
Recycled 0 Denunciar post Postado Abril 6, 2005 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
grasi 0 Denunciar post Postado Abril 6, 2005 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
Recycled 0 Denunciar post Postado Abril 7, 2005 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
Recycled 0 Denunciar post Postado Abril 7, 2005 ah, se quiser trocar na linha 12 o 'filemtime' por 'filectime', pode funcionar ;) Compartilhar este post Link para o post Compartilhar em outros sites
grasi 0 Denunciar post Postado Abril 8, 2005 Recycled muito obrigada pela ajuda, acabei de testar e deu certinho. :) Compartilhar este post Link para o post Compartilhar em outros sites
Bravanet 0 Denunciar post Postado Abril 8, 2005 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