Mais Populares

19 de abril de 2017

Listar arquivos e pastas em um diretório

Em casos que você precisa dinamicamente exibir o conteúdo de um diretório, ou personalizar a aparência de um diretório de arquivos online, mas não tem tempo para ficar incluindo ou removendo arquivos, este script fará exibir o conteúdo dos arquivos do diretório automaticamente para você.

O arquivo irá listar os diretórios e pastas sempre que os mesmos estiverem disponíveis no diretório.

Pode ser implementado como um script de erro para 404, e exibir assim sempre o diretório atual e seus arquivos, com um layout personalizado.



Arquivo: listar.asp, copie o código e crie o arquivo contendo o seguinte código:
<%@language="vbscript" codepage="65001" lcid="1043" %>
<% response.charset = "utf-8" %>
<%
folder403=replace("/"&replace(request.querystring,"403;http://" & request.serverVariables("server_name")&":"&request.serverVariables("Server_port")&"/",""),"/","\")
if folder403 <> "\" then
myfolder = folder403
else
myfolder="."
end if
%>
<h3><%=myfolder%></h3>
<ul>
    <%
        Set MyDirectory=Server.CreateObject("Scripting.FileSystemObject")
        Set MyFolders=MyDirectory.GetFolder(Server.MapPath(myfolder))
        For each filefound in MyFolders.SubFolders
    %>
    <li>
    <a href="<% =filefound.Name %>" target="blank"><% =filefound.Name %></a>
    </li>

    <% Next %>
</ul>
<ul>
    <%
        Set MyDirectory=Server.CreateObject("Scripting.FileSystemObject")
        Set MyFiles=MyDirectory.GetFolder(Server.MapPath(myfolder))
        For each filefound in MyFiles.files
    %>
    <li>
    <a href="<% =filefound.Name %>" target="blank"><% =filefound.Name %></a>
    </li>

    <% Next %>
</ul>

Agora vamos utilizá-lo juntamente com o seguinte Web.Config (disponível a partir do IIS 7.5 ou superior) com custom errors:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <httpErrors errorMode="Custom">
            <remove statusCode="403" />
            <error statusCode="403" prefixLanguageFilePath="" path="/teste/listar.asp" responseMode="ExecuteURL" />
        </httpErrors>
    </system.webServer>
</configuration>

E agora teremos uma página personalizada para navegar entre os arquivos do servidor.














Nenhum comentário :

Postar um comentário

Deixe seu comentário abaixo e curta Tutorial TI no facebook!