Ir para conteúdo
Fórum Script Brasil
  • 0

O Is_dir() Funciona No Win 32?


tellys

Pergunta

Salve rapazeada, to sumido do forum , mas muito trampo, sabe como é que é né!!!!

eu to num projeto aqui, em que eu preciso ler um diretorio e separar em strings os arquivos de subdiretorios, ou seja pegar uma pasta, ler o que tem dentro e separar em arquivos e subdiretorios!!!

a principio, muito facil!!! rs mas não sei porque não to conseguindo usar umas funçoes do php no mue windows aqui!!! alguém sabe se elas so funcionam em linux!!!???

segue o script pra estudo

function se_dir($d){
$d=dir($d); 
echo "Manipulador: ".$d->handle."<br>\n";
echo "Caminho: ".$d->path."<br>\n";
while (false !== ($entry = $d->read())) {
echo $entry.'<br>';
}
$d->close();
}
se_dir('c:/site/pasta_do_site/imagens');

Notem que ai funciona belezinha, o script le tudo dentro da pasta ai em cima!!! ai vem o caso: tem duas funçoes do php que já dao se o objeto da string é dir -- is_dir() --ou file -- is_file() -- assim:
function se_dir($d){
$d=dir($d); 
echo "Manipulador: ".$d->handle."<br>\n";
echo "Caminho: ".$d->path."<br>\n";
while (false !== ($entry = $d->read())) {
if(is_dir($entry)) $entry = $entry_dir;
else $entry = $entry_file;
echo $entry_dir.'---dir<br>'; // coloquei o ----file so pra ver no script que é dir
echo $entry_file.'---file<br>'; // coloquei o ----file so pra ver no script que é file
}
$d->close();
}
se_dir('c:/site/pasta_do_site/imagens');

note que depois de adicionado o if pra separar os esquemas ai, não le , pelo menos aqui no meu wind

alguém vê algum erro ou sugere um outro esquema??

vlw

Editado por tellys
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

está resolvido vlw.. galera!!!!

segue como ficou!!!

function parse_dir($dir) {
   if ($dh = @opendir($dir)) {
       while(($file = readdir($dh)) !== false) {
           if( !preg_match('/^\./s', $file) )  {
               if(is_dir($dir.'/'.$file)) {
                   $newdir = $dir.$file.'/'; // <- tailing slash
//                   chdir($newdir);
                   echo "<b>IS DIR</b>: $newdir<br>";
                   echo parse_dir($newdir);
               } else {
                   echo $dir.'/'.$file."<br>";
               }
           }           
       }
       chdir('..');
   }
}
parse_dir('c:/site/multiland/imagens');

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...