Butt_Head Postado Novembro 8, 2004 Denunciar Share Postado Novembro 8, 2004 Pessoal, será que alguém pode me ajudar me dizendo como que eu faço para ordenar as fotos de um diretório por ordem decrescente da data de modificacao das fotos?Eu não estou conseguindo!! Valeu galera! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Error404 Postado Novembro 8, 2004 Denunciar Share Postado Novembro 8, 2004 · http://br.php.net/function.fileatime· http://br.php.net/function.filectime· http://br.php.net/function.filemtimeÉ só você ir passando o nome dos arquivos para uma array a medida que for dando o loop na readdir() e depois ordenar isso direitinho.O trabalho estaria todo em montar uma estrutura de array pra conseguir ordenar e resgatar esses dados. Talvez ir criando uma array e colocando o tempo de modificação do arquivo como índice, isso deve funcionar... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Butt_Head Postado Novembro 8, 2004 Autor Denunciar Share Postado Novembro 8, 2004 Bom...eu entendi o que você quis dizer, mas acontece que eu não estou sabendo como passar p/ array o valor da datademodificacao...e não sei como ordenar posteriormente, pois estou iniciando em PHP. Meu codigo está abaixo, se quiser dar uma olhada pra poder me ajudar!! Bom..valeu! . . . </head> <script language="javascript"> function ViewFoto(img){ foto1 = new Image(); foto1.src=(img); larg=foto1.width+20; alt=foto1.height+20; stringa="width="+larg+",height="+alt; finestra=window.open(img,"",stringa); } </script> <body> <?php function imagemProd($dir){ $aberto = opendir($dir); //Abre o diretório das imagens $count = 0; $pagcount = 0; echo '<center><font size = 5>Galeria de fotos</font></center>'; echo '<table border = 0>'; while($arq = readdir($aberto)) { //Lê o diretório aberto(loop) if($arq <> "." && $arq <> "..") { //Desconsidera diretórios e sub $ext = explode(".",$arq); //Divide a string em nome e extensão if( ($ext[1] == "gif") || ($ext[1] == "jpg") ) { //Verifica se é uma extensão de imagem $count ++; if ($count == 5) { echo '<tr>'; $count = 1; } $datamodificacao[1] = filemtime($dir."/".$arq); //pega a data de modificacao do arquivo echo '<td>'; echo '<a href=javascript:ViewFoto("'.$dir."/".$arq.'")><img border="0" src="'.$dir."/".$arq.'" width="200" height="180" title="'.$arq.'"></a>'; echo '<br><center> '.$ext[0].''; echo '</td>'; }//Fecha If(verifica extensões) }//Fecha If }//Fecha While echo '</table>'; } $dir_imagens = "./Fotos"; imagemProd($dir_imagens); ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Error404 Postado Novembro 8, 2004 Denunciar Share Postado Novembro 8, 2004 Sabe como funcionam as arrays?Se você tem:$mod_time = //valor do tempo de modificaçãoE fizer algo como:$array[$file_name] = $mod_time;Você vai estar criando uma array onde cada elemento tem o índice como o nome do arquivo e o valor como o tempo de modificação.Ao final do loop que cria essa array você pode ordená-la usando um:· http://br.php.net/function.arsortE depois montar outro loop pra mostrar os seus elementos, entendeu? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Butt_Head Postado Novembro 9, 2004 Autor Denunciar Share Postado Novembro 9, 2004 Bem...não sabia como funcionavam as arrays não, mas pelo exemplo que me deu, já deu para perceber como funcionam.Bom...agora axo que ficou claro, terei então que fazer 2 loops! então eu faço o seguinte:Faço o primeiro loop, para passar para a Array os valores da data de modificação, depois ao fim desse eu mando ordenar com ArSort, e finalmente faço outro loop para listar/mostrar os arquivos (fotos), é isso???Só uma última pergunta, esse $mod_time = //valor do tempo da modificacao eu teria que passar para ele o valor filemtime não seria?bom...deu para dar uma esclarecida!!!!obrigado! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Error404 Postado Novembro 9, 2004 Denunciar Share Postado Novembro 9, 2004 É isso mesmo... É, no caso o $mod_time seria a variável que iria receber, temporariamente, a data de modificação do arquivo que está sendo lido. Esse valor tem que ir mudando a cada laço do loop pra que os elementos da array fiquem correspondentes. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Butt_Head
Pessoal, será que alguém pode me ajudar me dizendo como que eu faço para ordenar as fotos de um diretório por ordem decrescente da data de modificacao das fotos?
Eu não estou conseguindo!!
Valeu galera!
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.