文件绝对路径的获取(支持非80端口)

王朝asp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

得到当前asp执行文件所在的绝对路径(支持带端口的绝对路径)以'/'结束

在解决一些XML文档调用时有用.或应用到小偷程序中

程序如下

//powered By Airzen

//qq:39192170

//e_mail:airzen@sohu.com

//date:2004-12-03

//转贴请保留作者信息

FUNCTION GetFullPath()

dim path,host_name,host_port,url_path

path=request.ServerVariables("PATH_INFO")

path=left(path,instrrev(path,"/"))

host_name=request.ServerVariables("SERVER_NAME")

host_port=request.ServerVariables("SERVER_PORT")

if host_port<>"80" then host_name=host_name&":"&host_port

GetFullPath="http://"&host_name&path

End Function

Function GetPage(url)

IF url="" then exit function

Set Retrieval = CreateObject("Microsoft.XMLHTTP")

With Retrieval

.Open "Get", url, False, "", ""

.Send

GetPage = BytesToBstr(.ResponseBody)

End With

Set Retrieval = Nothing

End Function

Function BytesToBstr(body)

dim objstream

set objstream = Server.CreateObject("adodb.stream")

objstream.Type = 1

objstream.Mode =3

objstream.Open

objstream.Write body

objstream.Position = 0

objstream.Type = 2

objstream.Charset = "GB2312"

BytesToBstr = objstream.ReadText

objstream.Close

set objstream = nothing

End Function

Function WriteToFile(fil,wstr)

Dim fso, f

Set fso = Server.CreateObject("Scripting.FileSystemObject")

Set f = fso.CreateTextFile(Server.MapPath(fil),True)

f.Write wstr

Set f = nothing

Set fso = nothing

End function

Function ReadAllTextFile(filespec)

Dim fso, f

Set fso = CreateObject("Scripting.FileSystemObject")

Set f = fso.OpenTextFile(server.MapPath(filespec), 1)

ReadAllTextFile = f.ReadAll

Set f=nothing

Set fso=nothing

End Function

Function IsExists(filespec)

Dim fso

Set fso = CreateObject("Scripting.FileSystemObject")

If (fso.FileExists(server.MapPath(filespec))) Then

IsExists = True

Else

IsExists = False

End If

End Function

MakeXML.ASP

----------------------------------------------------------------------------------------------------------

<p><a href="?MakeFile=address.xml&SeedFile=listAddress.asp" >点击生成客户XML文件</a>(address.xml)</p>

<p><a href="?MakeFile=brand.xml&SeedFile=listBrand.asp">点击生成产品XML文件</a>(brand.xml)</p>

<!-- #include file="Module/func.asp"-->

<%

'///////////////////////////////////////

' MakeXML.asp

'coder :airzen

'date :Nov 15,2004

'descript :MAKE THE XML FILE "Address.xml" "Brand.xml"

'email :airzen@sohu.com

'qq :39192170

'Create Date:2004 11.5

'Modified History:2004 11.15

'///////////////////////////////////////

'on error resume next

SUB MakeXML(byVal make_fileName,byVal seed_ASPfile)

IF IsExists(seed_ASPfile) THEN

url_path=GetFullPath()&seed_ASPfile

'response.write url_path

make_content=GetPage(url_path)

call WriteToFile(make_fileName,make_content)

if err.number>0 then

response.write "<BR>File Generate Failed!"

else

'response.write make_content

response.write "<BR>OK!! the File [ <font color=red>"&make_fileName&"</font> ] has Generated!"

end if

ELSE

RESPONSE.WRITE("参数错误")

END IF

END SUB

make_fileName=request.QueryString("MakeFile")

seed_ASPfile=request.QueryString("SeedFile")

IF request.ServerVariables("QUERY_STRING")>"" then

CALL MakeXML(make_fileName,seed_ASPfile)

END IF

%>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航