Lista dos arquivos de um diretório com ASP

Neste workshop de ASP mostraremos como obter uma lista dos arquivos que existem em uma pasta, dentro do sistema de arquivos do servidor.

ASP dispõe de uma série de objetos para acessar a qualquer recurso dentro dos discos rígidos do servidor web. No entanto, será necessário que nesses discos rígidos tenhamos permissões para poder trabalhar. Possivelmente, se provarmos os scripts dentro de nosso computador local, não haverá nenhum problema para listar os conteúdos de qualquer diretório, porém se o provamos em um servidor de hospedagem compartilhada, possivelmente tenhamos problemas com as permissões, a não ser que estivermos tentando acessar a uma pasta que esteja dentro do nosso diretório de publicação.

Agora vejamos um código para mostrar os arquivos contidos em uma pasta. Primeiro que tudo, temos que decidir o nome da pasta que desejamos explorar, ou seja o diretório físico que desejamos listar seus arquivos. Algo como C:inetpubwwwroot

Se estivermos fazendo provas em nosso computador local, podemos conhecer perfeitamente o nome de qualquer pasta, porque sabemos a estrutura de discos e diretórios de nosso computador. Porém, se estivermos em uma hospedagem compartilhada, teremos que fazer uma pequena ação para saber o nome do diretório físico onde podemos listar seus arquivos.

Em local, podemos decidir diretamente o nome da pasta:

‘declaro o nome de uma pasta
nome_pasta = “C:”

Em uma hospedagem compartilhada, poderíamos obter assim o nome da pasta física onde está o arquivo ASP que estamos executando:

nome_pasta = Server.MapPath(“.”) & “”

Como se vê, se utiliza o método de Server.mappath() para obter o nome de um diretório. A este método lhe passamos a rota relativa do diretório que se deseja obter o nome físico. Neste caso, passando-lhe “.”, nos devolverá o diretório físico onde está o script ASP que estamos executando. Algo como X:websmeudominio.comHtml

Uma vez tendo o nome do diretório que desejamos listar arquivos, temos que obter o objeto pasta deste diretório. Para isso, devemos conectar com o sistema de arquivos do computador:

‘Conecto com o sistema de arquivos
set FSO = server.createObject(“Scripting.FileSystemObject”)

E logo temos que extrair o objeto pasta do diretório desejado:

‘crio o objeto pasta
Set pasta = FSO.GetFolder(nome_pasta)

O seguinte passo é tirar todos os arquivos dessa pasta:

‘pego os arquivos da pasta
Set archivos = pasta.Files

Para finalizar, listamos o nome de cada arquivo conteúdo na pasta, mediante um loop for… each:

‘para cada arquivo, mostro seu nome.
for each nome_arquivo in arquivos
response.Write “<br>” & nome_arquivo
next

O exemplo completo seria algo como a seguir:

<%
‘obtenho o diretório físico da pasta onde está este script
nome_pasta = Server.MapPath(“.”) & “”
response.write “<h1>-” & nome_pasta & “</h1>”

‘Conecto com o sistema de arquivos
set FSO = server.createObject(“Scripting.FileSystemObject”)

‘crio o objeto pasta
Set pasta = FSO.GetFolder(nome_pasta)

‘pego os arquivos da pasta
Set archivos = pasta.Files

‘para cada arquivo, mostro seu nome.
for each nome_arquivo in arquivos
response.Write “<br>” & nome_arquivo
next
%>

Fonte: http://www.criarweb.com/artigos/803.php

Deixe um comentário