Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Fala pessoal!!! Firme???
Estou estudando php e desenvolvi um script para mostrar os arquivos de um determinado diretório e fiz uma navegação também. Funcionou legal!! Fiquei feliz pra caramba! huahauaHUHUAhUAAHUa...
O problema é que está mostrando em ordem alfabética (mistura diretório com arquivo). gostaria que mostrasse primeiramente os diretórios e depois os arquivos. Alguém pode me ajudar por favor???
O página completa ficou assim:
<html> <head> <title> </title> <style type="text/css"> BODY,TABLE { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; color: #333333; } .titulo { font-size: 20px; font-weight: bolder; text-align: center; background-color: #F5F5F5; padding-top: 5px; padding-bottom: 5px; border-bottom: 1px solid #CCCCCC; } .titulo PRE { font-size: 11px; margin: 0; padding: 0; color: #666666; } .lista { padding-left: 20px; } .link { color: #0066CC; text-decoration: none; text-transform: capitalize; } .link:Hover { color: #CC0000; font-weight: bolder; } .linkVoltar { color: #333333; text-transform: lowercase; font-weight: bolder; } .diretorio { color: #0066CC; font-variant: small-caps; background-image: url('imagens/pastaFechada.gif'); background-repeat: no-repeat; padding-left: 15px; line-height: 16px; } .arquivo { color: #666666; background-image: url('imagens/arquivo.gif'); background-repeat: no-repeat; padding-left: 15px; padding-bottom: 10px; line-height: 18px; } </style> </head> <body> <? ## Definição de variáveis $diretorio = (strlen($_GET["dr"]) >= 1) ? $_GET["dr"] : getcwd(); $basepesquisa = 'projetos'; echo "<script>document.title = '$basepesquisa - Rafael';</script>"; if($dir = opendir($diretorio)) { $i = 1; echo "<div class='titulo'>\n"; echo "<a href='/$basepesquisa' class='link' title='Voltar para a pasta inicial'>" . strtoupper($basepesquisa) . "</a><br />\n"; echo "<pre>/" . strstr($diretorio,$basepesquisa) . "</pre>\n"; echo "</div><br />\n"; echo "<div class='lista'>\n"; while(false !== ($arquivos = readdir($dir))) { if($arquivos == "." or $arquivos == "..") continue; { $caminho = $diretorio . "/" . $arquivos; $link = (is_dir($caminho)) ? "?dr=" . $caminho : "/" . substr($caminho,strpos($caminho,$basepesquisa),strlen($caminho)); $css = (is_dir($caminho)) ? "diretorio" : "arquivo"; echo "<a href='" . $link . "' class='link $css'> " . $arquivos ."</a><br />\n"; $i++; } } closedir($dir); echo "</div>\n"; if(strlen($_GET["dr"]) > 0) echo "<br /><a href='java script:;' onClick='history.go(-1);' class='link linkVoltar'><- voltar</a>"; } ?> </body></html>
VALEW GALERA!!!!!!
tenho uma pasta relatorio gostaria de mostra os arquivos desta pasta no meu projeto delphi, pois preciso clicar neste relatrios
faça o laço duas vezes.um pra escrever somente aqueles que retornarem "true" no is_dir()e outro pra quem retornar "false" no is_dir()ok?!
desculpa mais n entedir
na listagem dos arquivos ficaria assim:
PHP
while(false !== ($arquivos = readdir($dir))) { if($arquivos == "." or $arquivos == "..") continue; {
$caminho = $diretorio . "/" . $arquivos;
$link = ([is_dir](http://br.php.net/is_dir)($caminho)) ? "?dr=" . $caminho : "/" . [substr](http://br.php.net/substr)($caminho,[strpos](http://br.php.net/strpos)($caminho,$basepesquisa),[strlen](http://br.php.net/strlen)($caminho));
if ([is_dir](http://br.php.net/is_dir)($caminho))
{
[echo](http://br.php.net/echo) "<a href='" . $link . "' class='link diretorio'> " . $arquivos ."</a><br />n";
}
$i++;
}
}
while(false !== ($arquivos = readdir($dir))) {
if($arquivos == "." or $arquivos == "..") continue; {
$caminho = $diretorio . "/" . $arquivos;
$link = ([is_dir](http://br.php.net/is_dir)($caminho)) ? "?dr=" . $caminho : "/" . [substr](http://br.php.net/substr)($caminho,[strpos](http://br.php.net/strpos)($caminho,$basepesquisa),[strlen](http://br.php.net/strlen)($caminho));
if (($caminho))
{
[echo](http://br.php.net/echo) "<a href='" . $link . "' class='link diretorio'> " . $arquivos ."</a><br />n";
}
$i++;
}
}
o while() pra quando is_dir() retornar "true" vem na frente pra fazer as pastas virem na frente...
o while() pra quando is_dir() retornar "false" vem depois, so pra listar os arquivos...
>
Fala pessoal!!! Firme???Estou estudando php e desenvolvi um script para mostrar os arquivos de um determinado diretório e fiz uma navegação também. Funcionou legal!! Fiquei feliz pra caramba! huahauaHUHUAhUAAHUa...O problema é que está mostrando em ordem alfabética (mistura diretório com arquivo). gostaria que mostrasse primeiramente os diretórios e depois os arquivos. Alguém pode me ajudar por favor???O página completa ficou assim:
Achei bacana tu codigo, faça o seguinte divida em 2 loops diferentes, uma para os que possuem extenção e outros não...