Ferramentas de Utilizador

Ferramentas de Site


dev_web:php:ler_pastas_recursividade

Tutorial: Rastrear Pastas

Este breve tutorial explica como rastrear pastas de forma recursiva, lendo as pastas que estão dentro das pastas, e assim sucessivamente. Mostra também os ficheiros.

Breve explicação de Recursividade

A recursividade consistem em uma função se chamar, dentro dela, a ela própria. Isto implica que uma função possa executar acções de forma cíclica, por exemplo, ou recursivas, como neste tutorial.

Exemplo de Funcionamento

As linhas pretas mostram o seguimento do programa.

Exemplo de Funcionamento

Código

<?php
 
//Esta variável define a pasta a "rastrear"
$path = "./";
 
//Chama a função para ler as pastas, pela primeira vez.
ler_conteudo($path, "");
 
//Função que lê o conteúdo das pastas.
//@param url - A pasta actual para ser rastreada
//@param espacos - Este parámetro serve para identificar o quão para dentro é mostrada a pasta/ficheiro.
function ler_conteudo($url, $espacos){
 
	//Lê os ficheiros e as pastas para um array.
	$files = scandir($url);
 
	//Percorre todos os índices do array
	foreach ($files as $index => $file){
 
		//Verifica se o índice actual do array é o zero ou o um.
		//Pois estes indicam apenas a pasta actual e a pasta superior.
		if ($index > 1){
 
			//Mostra a pasta com o número de espaços definidos, e o ficheiro.
			echo $espacos."- ".$file."<br />";
 
			//Verifica se o índice actual é uma pasta
			if (is_dir($url."/".$file."/")){
 
				//Se retornar verdadeiro, chama a própria função.
				//Lê a pasta actual e adiciona a pasta do array.
				//Adiciona aos espaços actuais mais três.
				ler_conteudo($url."/".$file, $espacos."&nbsp;&nbsp;&nbsp;");
			}
		}
	}
 
}
 
?>
dev_web/php/ler_pastas_recursividade.txt · Esta página foi modificada pela última vez em: 2018/05/14 21:37 (Edição externa)