注册 登录
编程论坛 ASP技术论坛

两个取路径的命令的区别~不太理解。

dissun 发布于 2009-11-06 15:46, 501 次点击
最近处理两个 词,不太理解,哪位仁兄出来 讲解下。

FileSystemObject中有个GetAbsolutePathName,解释中试获取文件完整路径.

而Server.MapPath也可以获取完整路径。

所以我建了个文件夹,试了下,可地址根本不同。(我的当前的地址为C:\Inetpub\wwwroot\test_123)


Set fso = Server.CreateObject("Scripting.FileSystemObject")
Response.Write(Server.MapPath("./news/20090818"))
Response.Write(fso.getabsolutepathname("./news/20090818"))

出来后的结果却不同。(上下对应)
c:\inetpub\wwwroot\test_123\news\20090818
C:\WINDOWS\system32\news\20090818

哪位高手告诉我下面那个GetAbsolutePathName,在什么时候起作用,一般做什么的。
4 回复
#2
yms1232009-11-06 16:42
Server.Mappath是将URL路径转换为服务器上的物理路径
GetAbsolutePathName是将本地文件的相对路径转换为绝对路径。
#3
msgj2009-11-06 16:56
GetAbsolutePathName()取得一个文件的绝对路径,Server.MapPath 方法将指定的相对或虚拟路径映射到服务器上相应的物理目录上。

#4
dissun2009-11-06 18:39
回复 楼主 dissun
Response.Write(fso.getabsolutepathname("./news/20090818"))

C:\WINDOWS\system32\news\20090818

可是这个绝对路径似乎不对啊,怎么会是在system32上面?
#5
yms1232009-11-07 13:45
getabsolutepathname
这个函数是以系统根目录来做参考的
而Server.MapPath
以网站根目录。
1