2008-11-22 6 views
0

Je tente de vérifier qu'un fichier existe avant de l'inclure avec Server.Execute dans ASP classique. Alors que FileExists() renvoie False, Server.Execute exécute le fichier avec succès. Les deux appels utilisent exactement le même chemin de fichier. Pourquoi cela arrive-t-il et comment puis-je contourner ce problème?Scripting.FileSystemObject.FileExists retourne toujours false

Répondre

2

Je suppose que vous passez un chemin relatif (par exemple, "/Subfolder/Page.asp"). Vous auriez besoin de Server.MapPath pour l'appel dans FileExists - qui nécessite un chemin absolu (par exemple, "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 
%> 
Questions connexes