Jump to content


Photo

Listar Arquivos Do Diretório


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

#1 danilodepolli

danilodepolli

    Doutor

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

Posted 05/07/2003, 17:04

Ae galera,

Estou tentando aprender como fazer para transformar a listagem de um diretorio em links, mas não estou conseguindo, este exemplo lista todos os arquivos mas não tem como fazer download deles.

O código é o seguinte:

<html>
<title>Artigo</title>
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">

<?
//Exibe os diretórios que tem na pasta
if ($dir=opendir("c:\meus documentos\")){ //Diretório a ser vasculhado
$i=1;
?>
<br>
<table width="95%" border="0" cellspacing="1" cellpadding="0" align="center">
<tr bgcolor="cccccc">
<td width="17%">
<div align="center"><b><font face="Arial" size="2">Auto Numera&ccedil;&atilde;o</font></b></div></td>
<td width="54%">
<div align="center"><b><font face="Arial" size="2">Descri&ccedil;&atilde;o</font></b></div></td>
<td width="29%">
<div align="center"><b><font face="Arial" size="2">&Eacute; diret&oacute;rio ?</font></b></div></td>
</tr>

<?
while(($arquivos=readdir($dir)) !== false){
if($arquivos=="." or $arquivos=="..") continue; {
?>
<tr bgcolor="ebebeb">
<td width="17%"><div align="center"><font face="Arial" size="2"><?echo $i;?></font></div></td>
<td width="54%"><div align="center"><font face="Arial" size="2"><?echo $arquivos;?></font></div></td>
<td width="29%"><div align="center"><font face="Arial" size="2"><?if(is_dir($arquivos)) echo "SIM"; else echo "NÃO";?></font></div></td>
</tr>

<?
$i++; //Incrementa a variável i
}//fecha if
} //fecha while ?>
</table>
<?}/*fecha if*/?>
</body>
</html>

Até mais!

Danilo
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

#2 wmonline

wmonline

    Webmaster

  • Admin Geral
  • 238 posts
  • Sexo:Masculino

Posted 05/07/2003, 17:14

Oi !

..........
<?
while(($arquivos=readdir($dir)) !== false){
if($arquivos=="." or $arquivos=="..") continue; {
?>
<tr bgcolor="ebebeb">
<td width="17%"><div align="center"><font face="Arial" size="2"><?echo $i;?></font></div></td>
<td width="54%"><div align="center"><font face="Arial" size="2"><?echo $arquivos;?></font></div></td>
<td width="29%"><div align="center"><font face="Arial" size="2"><?if(is_dir($arquivos)) echo "SIM"; else echo "NÃO";?></font></div></td>
</tr>

<? 
.........

Dentro deste código acima, você deve colocar os arquivos linkados... como no exemplo abaixo : ( vale lembra que o diretório que está listando tem que estar publicado na web, assim você pode baixá-lo usando http:// ou localhost indicando o endereço físico. )

Código com pasta publicada na web
<?
while(($arquivos=readdir($dir)) !== false){
if($arquivos=="." or $arquivos=="..") continue; {
?>
<tr bgcolor="ebebeb">
<td width="17%"><div align="center"><font face="Arial" size="2"><?echo $i;?></font></div></td>
<td width="54%"><div align="center"><font face="Arial" size="2"><a href="http://localhost/<?echo $arquivos;?>"><?echo $arquivos;?></a></font></div></td>
<td width="29%"><div align="center"><font face="Arial" size="2"><?if(is_dir($arquivos)) echo "SIM"; else echo "NÃO";?></font></div></td>
</tr>

<?

Código com pasta não publicada, somente LOCALHOST
<?
while(($arquivos=readdir($dir)) !== false){
if($arquivos=="." or $arquivos=="..") continue; {
?>
<tr bgcolor="ebebeb">
<td width="17%"><div align="center"><font face="Arial" size="2"><?echo $i;?></font></div></td>
<td width="54%"><div align="center"><font face="Arial" size="2"><a href="file:///C|/meus%20documentos/<?echo $arquivos;?>"><?echo $arquivos;?></a></font></div></td>
<td width="29%"><div align="center"><font face="Arial" size="2"><?if(is_dir($arquivos)) echo "SIM"; else echo "NÃO";?></font></div></td>
</tr>

<?


#3 danilodepolli

danilodepolli

    Doutor

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

Posted 05/07/2003, 18:13

Leandro, muito obrigado.

Era isso mesmo que eu queria. Deu certo!

Valeu!

Danilo
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

#4 danilodepolli

danilodepolli

    Doutor

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

Posted 05/07/2003, 18:16

Esqueci de dizer.

A partir desse script da pra aperfeiçoa-lo?
Tipo, colocar contador de download? Data de inclusão de arquivo na pasta? Etc?

Bem, se der diz que sim aí vou tentar fazer isso!

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

#5 wmonline

wmonline

    Webmaster

  • Admin Geral
  • 238 posts
  • Sexo:Masculino

Posted 05/07/2003, 18:18

Oi !

Que bom que deu certo.. : - )

Sim, dá.. Basta modificar o link. Ao invés de fazer download direto no arquivo chame um outro script que conte cada vez que clicado. E depois redirecione para download.

Na data de inclusão, basta pegar a data do próprio arquivo no disco. Nao me lembro agora a função, mas em http://br.php.net , tem explicado.

#6 zenetto

zenetto

    Novato no fórum

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

Posted 16/09/2003, 08:52

Como que seria se eu só quiser listar as arquivos existentes, descartando qualquer subdiretório que o diretório possa possuir....

#7 midirodbr

midirodbr

    Turista

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

Posted 16/09/2003, 11:40

PessoALL :D :D

Testei o sei codigo na minha maquina, somente alterando o diretorio seu para um existente no meu computador. E ñ deu certo, :angry: pois ao inves de o programador ter que digitar :

...
<a href="file:///C|/arquivos de programas/<? echo $arquivos;?>"><? echo $arquivos;?></a>
...

..., que é manualmente, como faço para ele pegar o diretorio que especifico pela linha :

if ($dir=opendir('c:\arquivos de programas')){ //Diretório a ser vasculhado

..., obrigado !!!! :wacko:

#8 zenetto

zenetto

    Novato no fórum

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

Posted 19/09/2003, 14:41

Alquem poderia responder minha pergunta acima???

#9 KAKO-

KAKO-

    loading: again.........

  • Usuários
  • 236 posts
  • Sexo:Não informado
  • Localidade:Joinville
  • Interesses:ASP / PHP

Posted 07/10/2003, 16:18

E teria como fazer com q ele listasse os arquivos e botar um botao para DELETAR os arquivos q estao no diretorio?

e tambem gostaria de saber se tem como fazer com que ele liste apenas arquivos específicos, do tipo, .jpg ou .gif

[]'s
<?php
$nome = "Flávio Rodrigues";
$site = "http://www.expresso.com.br";
$idade = "21";
?>

nada é uma palavra esperando tradução...

#10 danilodepolli

danilodepolli

    Doutor

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

Posted 10/10/2003, 18:35

Olá Raphael

Estou colocando o código completo que utilizo pra listar os arquivos aqui do meu pc...

Se precisar de alguma coisa é só falar...

<html>
<title>Artigo</title>
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">

<?
//Exibe os diretórios que tem na pasta
if ($dir=opendir("C:\apache")){ //Diretório a ser vasculhado
$i=1;
?>
<br>
<table>
<table width="100%" border="0" cellspacing="1" cellpadding="0" align="center">
<tr bgcolor="cccccc">
<td width="17%">
<div align="center"><b><font face="Arial" size="2">Auto Numera&ccedil;&atilde;o</font></b></div></td>
<td width="54%">
<div align="center"><b><font face="Arial" size="2">Descri&ccedil;&atilde;o</font></b></div></td>
<td width="29%">
<div align="center"><b><font face="Arial" size="2">&Eacute; diret&oacute;rio ?</font></b></div></td>
</tr>

<?
while(($arquivos=readdir($dir)) !== false){
if($arquivos=="." or $arquivos=="..") continue; {
?>
<tr bgcolor="ebebeb">
<td width="17%"><div align="center"><font face="Arial" size="2"><?echo $i;?></font></div></td>
<td width="54%"><div align="center"><font face="Arial" size="2"><a href="file:///C:/apache\<?echo $arquivos;?>"><?echo $arquivos;?></a></font></div></td>
<td width="29%"><div align="center"><font face="Arial" size="2"><?if(is_dir($arquivos)) echo "SIM"; else echo "NÃO";?></font></div></td>
</tr>


<?
$i++; //Incrementa a variável i
}//fecha if
} //fecha while ?>
</table>
<?}/*fecha if*/?>
</body>
</html>

Bom, se vc executar o script vc vai ver que ele vai listar os arquivos do diretorio c:/apache

Aí é só vc mudar o caminho e colocar o local certo pra listar...

FAlows!
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

#11 -|- Cold Heart -|-

-|- Cold Heart -|-

    *** MaDe In HeLL ***

  • Usuários
  • 260 posts
  • Sexo:Não informado
  • Interesses:Guitarras<br>Músicas<br>Web

Posted 24/10/2004, 22:53

eu tô tentando usar no servidor, mas não está dando...
oq eu devo colocar no

PHP
<?php

opendir
("//o q eu coloco aki?!?!")

?>


eu coloco o meu server(http://members.lycos.co.uk/kaueporte/) ou localhost ou u q?!

(y)
### Fender Vs. Gibson ###

#12 admin

admin

    Normal

  • Admin Geral
  • 114 posts
  • Sexo:Não informado

Posted 24/10/2004, 23:28

Você coloca o path da sua página... algo assim:

opendir("/home/usuario/www/pasta");

[]s,

#13 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 24/10/2004, 23:30

Coloca o endereço da pasta apartir do local no que se encontra.

Se eu tenho um arquivo X.php que tá na pasta figuras...
E dentro da pasta figuras tem uma com nome de amigo..

Daí eu vou colocar no arquivo X.php que está na pasta figuras:
opendir("amigo/");
Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29




0 user(s) are reading this topic

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

IPB Skin By Virteq