• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

PHP

[Resolvido] Abrir Pasta dentro de Pasta :S Nao reconhecido como pasta???

7 mensagens neste tópico

Bem, tenho mais um problema. Este aqui surgiu quando queria aceder a todos os ficheiros em pastas em niveis inferiores aos do script (tipo pastadoscript/pasta).

O problema é que abre pastadoscript, abre a pasta dentro da pasta do script mas depois trata a pastadoscript/pasta/pasta como um ficheiro e nao como uma pasta.

if (is_dir($item)) {
			print "Found another folder, called $item.<br />";
			$folders[] = $item;
		} else {
print "FOUND A FILE! <br />";
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Em *nix, para ser tratado como pasta, é necessário a / no final do path. ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

@PHP

No windows é sempre melhor colocar a pasta absoluta por isso experimenta criar uma pasta "teste" e depois outra com o nome "teste1" dentro da pasta "teste" e usa este código para ver se funciona.

if(is_dir( dirname(__FILE__).'/teste/teste1' )) {
        echo 'is a dir';
} else {
        echo 'isn\'t a dir';
}

Se funcionar já sabes que tens que usar dirname(__FILE__) antes.

@djthyrax

Posso estar errado mas acho que não é necessário / no final da pasta para ser tratado como pasta ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

@djthyrax

Posso estar errado mas acho que não é necessário / no final da pasta para ser tratado como pasta ;)

Em php não sei, mas em Python deu-me erro há uns tempos com o . (no entanto, foi agora testar e já deu bem... weird).
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

o $item só vai ter o nome da pasta, o is_dir($item)  tem que ter a path da pasta  deste a pasta principal (neste caso pasta1/pasta2)

se tas dentro da pasta2 que esta dentro da pasta1 o $item vai ter o valor de "pasta2" e o is_dir() vai retornar false porque ele esta na pastascript e a pastascript/pasta2 não existe!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Obrigado a todos. Sven, tens razão. Para isso, acrescentei um simples chdir($dir); e agora já funciona ;). Obrigado.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora