wolfphw 60 Denunciar post Postado Abril 18, 2006 To tendo um problema em listar os arquivos de uma pasta.. Tipo meu problema eh que eles vem tudo sem ser em ordem alfabetica... Eu to usando o seguinte código <? //DIRETÓRIO A SER PESQUISADO $dir = "../../images/destaque"; //ABRE O DIRETÓRIO $aberto = opendir($dir); //LÊ O DIRETÓRIO while($arq = readdir($aberto)) { //DESCONSIDERA DIRETÓRIOS E SUBDIRETÓRIOS if($arq <> "." && $arq <> "..") { //DIVIDE A STRING $ext = explode(".",$arq); //VERIFICA SE É UMA EXTENSÃO DE IMAGEM if( ($ext[1] == "gif") || ($ext[1] == "jpg") ) { echo "Arquivo: $arq<BR>"; }//FECHA IF(verifica extensões) }//FECHA IF }//FECHA WHILE?> Ou se alguem tiver um outro código que coloque em ordem.... Compartilhar este post Link para o post Compartilhar em outros sites
MadPatryk 0 Denunciar post Postado Abril 18, 2006 po kra, pra listar é mole... usa a função glob... faz assim: <?$dir = "/www/servidor/imagens";$glob = glob($dir ."/*");$glob = (count($glob) >0) ? $glob : array(); // só pra n dá erro no foreach...foreach ($glob as $key=>$item) { echo ($key+1)."° -> {$item}";}?> abraço! Compartilhar este post Link para o post Compartilhar em outros sites
Baldão 0 Denunciar post Postado Abril 18, 2006 Olá! Vamos supor que você faça como nosso amigo acima ou modifique seu script para que ao invés de listar os arquivos no loop, você preencha um array, sacou? $i = 0;while ($arq = readdir($aberto)) { if ($arq != "." and $arq != "..") { ... // Aqui você já sabe //Ao invés de listar o arquivo: $arquivo[$i] = $arq; $i++; }}asort($arquivo); //função que ordena um arrayreset($arquivo); //Coloca o ponteiro do array no iníciowhile (list($chave, $valor) = each($arquivo)) { echo $chave . " ->" . $valor;} Acredito que isso resolva seu problema. Falou!!! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Compartilhar este post Link para o post Compartilhar em outros sites
MadPatryk 0 Denunciar post Postado Abril 18, 2006 ahhh, ele quer ordenar? ahh po... tranks... mas não precisa fazer isso tudo não cara... dá pra poupar mais o servidor rsss pode fazer assim: <?$dir = "/www/servidor/imagens";$glob = glob($dir ."/*");$glob = (count($glob) >0) ? $glob : array(); // só pra n dá erro no foreach...asort($glob);reset($glob);foreach ($glob as $key=>$item) { echo ($key+1)."° -> {$item}";}?> prontinho ;) abraço! Compartilhar este post Link para o post Compartilhar em outros sites