Para recuperar o nome do arquivo atual, você pode usar conforme abaixo:
<%
Response.Write Request.ServerVariables("SCRIPT_NAME") & "<br>"
Response.Write Request.ServerVariables("PATH_INFO") & "<br>"
Response.Write Request.ServerVariables("URL") & "<br>"
%>Para fazer esse caminho local (por exemplo, para uso com FileSystemObject), basta aplicar o server.mappath () para o resultado.
Para obter a URL inteira, incluindo o prefixo http:// ou https://, você pode fazer isso:
<%
prot = "http"
https = lcase(request.ServerVariables("HTTPS"))
if https <> "off" then prot = "https"
nomedominio = Request.ServerVariables("SERVER_NAME")
nomearquivo = Request.ServerVariables("SCRIPT_NAME")
querystring = Request.ServerVariables("QUERY_STRING")
response.write prot & "://" & nomedominio & nomearquivo & "?" & querystring
%>Para obter o nome da página SOMENTE, use assim:
<%
scr = Request.ServerVariables("SCRIPT_NAME") & "<br>"
if instr(scr,"/")>0 then
scr = right(scr, len(scr) - instrRev(scr,"/"))
end if
response.write scr
%>Ou, sem a lógica IF:
<%
scr = Request.ServerVariables("SCRIPT_NAME") & "<br>"
loc = instrRev(scr,"/")
scr = mid(scr, loc+1, len(scr) - loc)
response.write scr
%>Se o arquivo é um # include dentro de outro arquivo, o scripts acima produzirá o nome do arquivo de chamada (já que o arquivo incluído é o primeiro integrado no script chamado, então o ASP dentro tudo é executado no contexto). Uma forma de contornar isso é re-preencher uma variável, denominada nomearquivo_atual antes de carregar cada arquivo incluem, por exemplo:
<% nomearquivo_atual = "arquivoinclude.asp" %> <!--#include file='arquivoinclude.asp'-->
(Não tente passar nomearquivo_atual como uma variável para a directiva # include.)
Então, em arquivoinclude.asp:
<% Response.Write "arquivo atual: " & nomearquivo_atual %>

Help














