Varrendo diretórios pelo PHP
Este está sendo meu primeiro artigo, nao liguem se for fraco, mas tenho certeza que irá ajudar muitos que estão começando a trabalhar com estruras de diretórios. Então vamos ao que interessa.
O script é uma função para mais tarde podermos chamá-la a qualquer hora.
Crie uma página chamada varre.php e transcreva o script abaixo:
Os exemplos seguem na próxima página...
O script é uma função para mais tarde podermos chamá-la a qualquer hora.
Crie uma página chamada varre.php e transcreva o script abaixo:
<?php function varre($dir,$filtro="",$nivel="") { $diraberto = opendir($dir); // Abre o diretorio especificado chdir($dir); // Muda o diretorio atual p/ o especificado while($arq = readdir($diraberto)) { // Le o conteudo do arquivo if($arq == ".." || $arq == ".")continue; // Desconsidera os diretorios $arr_ext = explode(";",$filtro); foreach($arr_ext as $ext) { $extpos = (strtolower(substr($arq,strlen($arq)-strlen($ext)))) == strtolower($ext); if ($extpos == strlen($arq) and is_file($arq)) // Verifica se o arquivo é igual ao filtro echo $nivel.$arq."<br>"; // Imprimi em forma de arvore } if (is_dir($arq)) { echo $nivel.$arq."<br>"; // Imprimi em forma de arvore varre($arq,$filtro,$nivel." "); // Executa a funcao novamente se subdiretorio } } chdir(".."); // Volta um diretorio closedir($diraberto); // Fecha o diretorio atual } ?>
Os exemplos seguem na próxima página...
Páginas:
1
2
Oi Sorcerys...
não entendi essa linha " $extpos = (strtolower(substr($arq,strlen($arq)-strlen($ext)))) == strtolower($ext);"
E quando executo:
<?php
include("varre.php");
varre(".",".txt;arquivo");
o php me mostra todos arquivos txts e não os que tem o nome "arquivo".
Poderia me ajudar?
O artigo esta muito legal. Parabens e valeu pelo script.
?>
não entendi essa linha " $extpos = (strtolower(substr($arq,strlen($arq)-strlen($ext)))) == strtolower($ext);"
E quando executo:
<?php
include("varre.php");
varre(".",".txt;arquivo");
o php me mostra todos arquivos txts e não os que tem o nome "arquivo".
Poderia me ajudar?
O artigo esta muito legal. Parabens e valeu pelo script.
?>
09/01/2006 11:34am
(~19 anos atrás)
Isto mesmo...
Fui erro de programador, esqueci do parenteses...
POr favor arrumem para mim!!
Valeuz
Fui erro de programador, esqueci do parenteses...
POr favor arrumem para mim!!
Valeuz
30/08/2002 3:29pm
(~22 anos atrás)
Nesta linha tem um erro, falta um ")"
-strlen($ext))) ==
Tem que colocar aqui
-strlen($ext))))==
^
---------------|
30/08/2002 3:21pm
(~22 anos atrás)
Nesta linha tem um erro, falta um ")"
-strlen($ext))) ==
Tem que colocar aqui
-strlen($ext)))<font color=red>)</font> ==
-strlen($ext))) ==
Tem que colocar aqui
-strlen($ext)))<font color=red>)</font> ==
30/08/2002 3:19pm
(~22 anos atrás)
Tudo bem qq coisa estamos ae!
Se precisar de ajuda ou opinioes, estarei aqui...
Antes de postar me mande para eu dar uma olhada...
Valeuz
Se precisar de ajuda ou opinioes, estarei aqui...
Antes de postar me mande para eu dar uma olhada...
Valeuz
29/08/2002 12:07pm
(~22 anos atrás)
pelo o que entendi, parece que você esta montando o link errado...
vaí uma sugestao:
utiliza a funcao getcwd(), para pegar o caminho completo que voce ta .
Qq coisa estamos ae!
Se nao for bem isto poste novamente mais claramente....
Valeuz
vaí uma sugestao:
utiliza a funcao getcwd(), para pegar o caminho completo que voce ta .
Qq coisa estamos ae!
Se nao for bem isto poste novamente mais claramente....
Valeuz
28/08/2002 12:40pm
(~22 anos atrás)
Concordo plenamente...
Podemos manter contato sim..sem nenhun problema...
Valeuz
Podemos manter contato sim..sem nenhun problema...
Valeuz
27/08/2002 3:57pm
(~22 anos atrás)
Mas eu queria listar meus diretorios e arquivos em uma treeview. A treeview eu faço tranquilo, mas me faltava desenvolver a parte de entrar nos ubsdiretorios tudo de uma vez só..
Mto legal
Valeu