Jump to content


Photo

Listar Arquivos De Uma Pasta


  • Faça o login para participar
22 replies to this topic

#1 MastersRoX

MastersRoX

    EDITADO

  • Banidos
  • PipPipPipPipPipPipPipPip
  • 774 posts
  • Sexo:Não informado

Posted 12/06/2004, 04:03

Ae galera, queria saber se tem como fazer isso:

Tenho uma pasta com 200imagens, tem como algum script imprimir todas essas imagens da pasta em uma pagina ? todas estão em .jpg e tem 2kb cada ...


é isso, vlw ^^

#2 luiz000

luiz000

    Expert

  • Banidos
  • PipPipPipPipPipPip
  • 530 posts
  • Sexo:Não informado

Posted 12/06/2004, 14:17

mais ou mens assim:

<?
$handle = opendir("imagens/$pasta1/$cats");
while (false !== ($file = readdir($handle)))
     {
     $files .= $file."|";

     
     }
     $files = substr($files,0,strlen($files)-1);
     $files = explode("|",$files);
for($x = 0; $x < count($files); $x++){

$var1 = strlen($files[$x])-4;
$var2 = substr($files[$x],0,$var1);
if(file_exists("diretorio/$var2.jpg") || file_exists("diretorio/$var2.gif")){

print "<img src='diretorio/$var'>";
}
}
?>

testa ae, se der erro me avise!

#3 Troyan

Troyan

    12 Horas

  • Usuários
  • 285 posts
  • Sexo:Não informado
  • Localidade:Mesquita, Rio de Janeiro - Brasil
  • Interesses:Sou programador ASP, PHP, Javascript e ActionScript, além de ser curioso em JSP, ColdFusion e XSL. Trabalho com XML, XHTML, adoro webstandards e a W3C. Também trabalho com tableless e RIA's.<br><br> Formas de contato:<br> Email: dnunes[at]gmail[dot]com<br> ICQ: 68102402<br> MSN: troyandev@hotmail.com<br><br> -------------------------------------<br> - Rio de Janeiro, Brazil<br> - Troyan

Posted 12/06/2004, 17:49

PHP
<?php

$imagens
=glob('pasta/*.jpg');
foreach (
$imagens as $arquivo) {
echo
'<img src="'.$arquivo.'" alt="" /><br />'."\n";
}

?>


Bem mais simples, não?
~~ ~
diego nunes
web engineer

~ ~~

#4 thiagorsl

thiagorsl

    Ex-admin xD

  • Ex-Admins
  • 1151 posts
  • Sexo:Não informado
  • Localidade:Sampa
  • Interesses:http://sermaldito.amovoce.net/

Posted 12/06/2004, 18:32

[quote name='Troyan' date='12 Jun 2004, 17:49 ']
PHP
<?php

$imagens
=glob('pasta/*.jpg');
foreach (
$imagens as $arquivo) {
  echo '<img src="'.$arquivo.'" alt="" /><br />'."\n";
}

?>


Explique esse glob ai eu li no php.net póem naum entendi muito bem ;)

Resumi o código do luis000 e comentei para entender ;)

PHP
<?
$dir
="imagens/";//nome da pasta
$handle = opendir($dir); // abrindo a pasta
while ($res=readdir($handle)){// lendo o conteudo dela
$ext=explode(".",$res);//pegando a extensão
echo ($ext[1]=="jpg") ? "<img src=\"$dir.$res&#092;"> : ""; //imprimindo na tela a imagem se for jpg
}
?>


FUI B)

#5 Troyan

Troyan

    12 Horas

  • Usuários
  • 285 posts
  • Sexo:Não informado
  • Localidade:Mesquita, Rio de Janeiro - Brasil
  • Interesses:Sou programador ASP, PHP, Javascript e ActionScript, além de ser curioso em JSP, ColdFusion e XSL. Trabalho com XML, XHTML, adoro webstandards e a W3C. Também trabalho com tableless e RIA's.<br><br> Formas de contato:<br> Email: dnunes[at]gmail[dot]com<br> ICQ: 68102402<br> MSN: troyandev@hotmail.com<br><br> -------------------------------------<br> - Rio de Janeiro, Brazil<br> - Troyan

Posted 13/06/2004, 04:59

O glob é excelente pra trabalhar com arquivos. Ele, basicamente, retorna um array com a lista de todos os arquivos que "casem" com o padrão que você especifica na função. O problema é que ele não aceita RegExp nem nada, no máximo os coringas do shell (* e ?).
Só pra exemplificar..

$mp3=glob('*.mp3'); //Retorna um array com todos os mp3's da pasta onde está o .php
print_r($mp3); //Exibe os dados do array (nesse caso, a lista de mp3's)

Só pra resposta ficar mais completa, a sintaxe do glob é..
array glob (string pattern [, int flags])
Onde pattern é o padrão e "flags" são algumas constantes. Aí vai a lista:
GLOB_MARK, GLOB_NOSORT, GLOB_NOCHECK, GLOB_NOESCAPE, GLOB_BRACE, GLOB_ONLYDIR.
Não vou explicar cada uma delas, mas digo, seguramente, que as mais interessantes são "GLOB_ONLYDIR", que faz a função só retornar pastas (obviamente, somente as pastas que "casem" com o padrão especificado) e a "GLOB_BRACE", que permite o use de "{troyan,thiago_rsl}*.jpg", o que faria ele retornar qualquer arquivo .jpg que começasse com "troyan" ou "thiago_rsl", entendeu? Ele, basicamente, ao invés de apenas uma verificação, faz várias verificações, pra cada parâmetro entre as chaves, separadas por vírgula. Outro exemplo seria glob('*{a,b,c}*'); que retornaria qualquer arquivo ou pasta que contenha "a", "b" ou "c".

Isso foi só um exemplo básico, espero que tenha conseguido entender. Qualquer coisa me procura no ICQ, no MSN ou mande uma mensagem (até pelo sistema interno do fórum, caso prefira).

[]s

Edição feita por: Troyan, 13/06/2004, 05:07.

~~ ~
diego nunes
web engineer

~ ~~

#6 danilodepolli

danilodepolli

    Doutor

  • Usuários
  • 987 posts
  • Sexo:Não informado

Posted 20/06/2004, 14:05

[quote name='thiago_rsl' date='12 Jun 2004, 18:32 '] [quote name='Troyan' date='12 Jun 2004, 17:49 ']
PHP
<?php

$imagens
=glob('pasta/*.jpg');
foreach (
$imagens as $arquivo) {
  echo '<img src="'.$arquivo.'" alt="" /><br />'."\n";
}

?>


Explique esse glob ai eu li no php.net póem naum entendi muito bem ;)

Resumi o código do luis000 e comentei para entender ;)

PHP
<?
$dir
="imagens/";//nome da pasta
$handle = opendir($dir); // abrindo a pasta
while ($res=readdir($handle)){// lendo o conteudo dela
$ext=explode(".",$res);//pegando a extensão
echo ($ext[1]=="jpg") ? "<img src=\"$dir.$res&#092;"> : ""; //imprimindo na tela a imagem se for jpg
}
?>


FUI B) [/quote]
Fala ae thiago_rsl

Tentei usar esse codigo ai e deu bug... nao listou os arquivos nao... o erro ta na linha 13...

[quote]echo ($ext[1]=="JPG") ? "<img src=\"$dir.$res\"> : ""; //imprimindo na tela a imagem se for jpg

[/quote]

Valeu!
Danilo Depolli
danilo@camphost.com.br
CAMPHOST - 1º MES GRATIS EM QUALQUER PLANO! HOSPEDAGEM WEB
QUER PATROCINIO FREE? ENTRE EM CONTATO
ICQ: 7695319
MSN: danilodepolli@bol.com.br

#7 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 20/06/2004, 14:21

Pior que não tem erro..... :P
Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#8 thiagorsl

thiagorsl

    Ex-admin xD

  • Ex-Admins
  • 1151 posts
  • Sexo:Não informado
  • Localidade:Sampa
  • Interesses:http://sermaldito.amovoce.net/

Posted 20/06/2004, 14:54

Esque ci de concatenar as variaveis

<img src=\"".$dir.$res."\">


Pronto deixa o img assim

#9 Jhonathas.net

Jhonathas.net

    12 Horas

  • Usuários
  • 181 posts
  • Sexo:Não informado

Posted 20/06/2004, 15:29

e se tiver uma foto assim por exemplo jhonathas.mt.jpg

vai dar erro certo ?

pois vai querer pegar o mt como extensão
Não ajunteis tesouros na terra, onde a traça e a ferrugem tudo consomem e aonde os ladrões minam e roubam;
Mas ajuntai tesouros no céu, onde nem a traça nem a ferrugem consomem, e aonde os ladrões não minam nem roubam.
MT 6 . 19

Jhonathas da Silveira de Matos (UIN: 57422166 / MSN: jhon_asp)

#10 thiagorsl

thiagorsl

    Ex-admin xD

  • Ex-Admins
  • 1151 posts
  • Sexo:Não informado
  • Localidade:Sampa
  • Interesses:http://sermaldito.amovoce.net/

Posted 20/06/2004, 15:35

e se tiver uma foto assim por exemplo jhonathas.mt.jpg

vai dar erro certo ?

pois vai querer pegar o mt como extensão

Sim é mais tem um jeito de se fazer melhor isso

($ext[1]=="JPG")

Isso vai pegar a ultima oq você faz é pegar o que depois então vamos pegar o ultimo

($ext[count($ext)-1]=="JPG")

Pronto o count vai contar o númeor de indices desde ai você vai pegar -1 para que pegue um existente vist que o array começa do zero ;)

FUI B)

#11 dgud

dgud

    Novato no fórum

  • Usuários
  • 1 posts
  • Sexo:Não informado

Posted 28/06/2004, 12:03

Oi!
eu consegui usar o glob no server aki em casa, soh q upei prum servidor e não rodou la... alguem sabe se pode ser problema de alguma configuração de la?

#12 Bomba Net

Bomba Net

    12 Horas

  • Usuários
  • 205 posts
  • Sexo:Masculino
  • Localidade:São José dos Campos
  • Interesses:me intereso em atuar nas areas de webdesingner e de webdeveloper

Posted 02/07/2004, 15:42

ae deu certo nao

Parse error: parse error, unexpected '\"' in /home/bombanet/public_html/teste/Untitled-2.php on line 13


quem quiser ver entra ai http://www.bombanet..../Untitled-2.php
Everton Lima
WebMaster

www.iMessenger.com.br

#13 jack

jack

    AJAX / PHP / MySql / JS / XML / XSLT

  • Usuários
  • 973 posts
  • Sexo:Não informado
  • Localidade:Blumenau/SC

Posted 02/07/2004, 18:04

tem algum "\" barra a mais no seu script....por isso ta dando erro....

jack
Jackson
jcaset@gmail.com
Soft Design Soluções Web & Desktop

#14 Bomba Net

Bomba Net

    12 Horas

  • Usuários
  • 205 posts
  • Sexo:Masculino
  • Localidade:São José dos Campos
  • Interesses:me intereso em atuar nas areas de webdesingner e de webdeveloper

Posted 02/07/2004, 18:13

isso eu sei hehehehe mnais onde será?
Everton Lima
WebMaster

www.iMessenger.com.br

#15 thiagorsl

thiagorsl

    Ex-admin xD

  • Ex-Admins
  • 1151 posts
  • Sexo:Não informado
  • Localidade:Sampa
  • Interesses:http://sermaldito.amovoce.net/

Posted 02/07/2004, 18:19

isso eu sei hehehehe mnais onde será?

Dá uma debulhada no código que acha ele ainda de dá a linha <_<

Outra se tivesse olhado o tópico inteiro iria ver que eu corrigi depois o código :P




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq