Ir para conteúdo

POWERED BY:

Arquivado

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

Alexandre Da Costa Nunes

lista de diretórios com filtro e sem extensão

Recommended Posts

Por favor, me ajudem. Preciso listar diretórios e sub diretórios. Consegui este resultado: www.bandaqueen.besaba.com

com este codigo:

$dir = "./Queen";

$file=scandir($dir);

$cont=count($file);

for($i=0;$i<$cont;$i++)

{

if( ($file[$i]!=".") and ($file[$i]!=".."))

{

$arquivos=scandir("$dir/$file[$i]");

$cont1=count($arquivos);

echo "<img src='$dir/$file[$i]/capa.jpg' width=150 height=120 valign=top align=center><br>";

echo "$file[$i]<br><br>";

for($j=0;$j<$cont1;$j++)

// Faz a mesma verificacao que foi feita acima

if( ($arquivos[$j]!==".") and ($arquivos[$j]!==".."))

//mostra as fotos{

echo "$arquivos[$j]</td><br>";

echo "<br><br>";

}

}

Mas preciso ocultar as extensões e mostrar somente as mp3. Se possível, mostrar as imagens sem ter que renomea-las

para" capa.jpg". Muito grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pra quem ja "criou" um codigo que lista diretorios e sub diretorios esta é uma tarefa simples, sao somente condições com if ex.

 

Exibir as imagens

 

 

$listExt = array('jpg','png','gif');//tipos validos de imagens
$ext = end(explode('.',$file[$i]));//pega a extensao do arquivo
 
if(in_array($ext,$listExt)){
//Código para exibir a imagem
}
 

 

E seguindo a logica do exemplo a cima com pouca adptação você tabem pode limitar o tipo de arquivo que ira pegar o nome para exibir.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ou...

 

Ao invés de usar scandir, use glob para listar os arquivos conforme um padrão.

// listar todos os arquivos .mp3 em $dir
$a = glob($dir . '/*.mp3');
print_r(a);

[inline]*[/inline] é um caractere coringa que casa "qualquer coisa".

 

Se quiser listar os arquivos em mais de uma extensão, basta usar GLOB_BRACE:

$a = glob($dir . '*{mp3,jpeg,jpg,png}', GLOB_BRACE);
print_r($a);

Neste caso irá retornar todos os arquivos com as extensões mp3, jpeg, jpg e png que estiverem no diretório $dir.

 

E...

 

Caso eu não tenha entendido bem e o seu objetivo na verdade seja exibir o nome do arquivo sem a extensão, use basename para exibir apenas o nome de arquivo e depois remova a extensão:

// extensão do arquivo
$arquivo_ext = substr(strrchr($arquivo,'.'),0);

// nome do arquivo (sem extensão)
$arquivo_nome = basename($arquivo, $arquivo_ext);

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.