2008-11-22 193 views
0

我试图检查文件是否存在,然后将其与Server.Execute包含在经典ASP中。当FileExists()返回False时,Server.Execute成功执行该文件。两个调用都使用完全相同的文件路径。Scripting.FileSystemObject.FileExists总是返回false

为什么会发生这种情况,我该如何解决它?

回答

2

我怀疑你传递了一个相对路径(例如“/Subfolder/Page.asp”)。您需要拨打Server.MapPath以调用FileExists - 需要绝对路径(例如,“C:\ inetpub \ wwwroot \ Subfolder \ Page.asp”)。

<% 
Dim path : path = "/Admin/default.asp" 
Dim fso : Set fso = CreateObject("Scripting.FileSystemObject") 

If fso.FileExists(Server.MapPath(path)) Then 
    Server.Execute(path) 
Else 
    Response.Write "The path " & path & " does not exist." 
End If 

Set fso = Nothing 
%>