Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

tesla

[Resolvido] Função recursiva no PHP

Recommended Posts

Pessoal, to fazendo uma função recursiva no php, para montar uma hierarquia de subdiretórios e arquivos a partir de um diretório.

Porém quando vou testa-la o firefox acusa que a conexão foi reiniciada durante o carregamento da página e outros navegadores acusam de página quebrada.

 

Vou postar o código para vocês darem uma olhada:

 

<?php
define("ONLY_DIR", 0);
define("BOOTH_TYPES", 2);
function Listar ($filtro=null, $tipo=BOOTH_TYPES, $opt_from) { //--- parâmetro filter exemplo: {*.txt,*.php}, parâmetro type: ONLY_DIR, ONLY_FILE, BOOTH_TYPES
		if (!is_dir($opt_from)) { return false; }
		if ($filtro == null) $filtro = '{*}';
		if ($tipo == ONLY_DIR) $filt = GLOB_BRACE|GLOB_ONLYDIR;
		elseif ($tipo == BOOTH_TYPES) $filt = GLOB_BRACE;
		else { return false; }
		
		$itens[$opt_from] = glob($opt_from.$filtro, $filt);
		
		foreach ($itens[$opt_from] as $chave => $valor) {
			if (is_dir($valor)) {
				unset($itens[$opt_from][$chave]);
				$itens[$opt_from][$valor] = Listar($filtro, $tipo, $valor);
			}
		}
		
		return $itens;
	}
	
$x = Listar(null, BOOTH_TYPES, 'C:/Documents and Settings/Victor/Meus documentos/Minhas imagens/');

print_r($x);

?>

Onde está meu erro?

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@tesla,

 

Por que você não usa RecursiveDirectoryIterator com RecursiveIteratorIterator ?

 

Muito mais simples.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado gente, mas era um mal uso que estava fazendo da função glob();

O segundo programador da minha equipe me mostrou.

 

Resolvido.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado gente, mas era um mal uso que estava fazendo da função glob();

 

@tesla,

 

Se você postar o código com a devida correção ajudará outros membros no futuro que possam vir a ter o mesmo problema...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.