Server.MapPath的问题,怎么把上级目录切换回来

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Server.MapPath的问题,怎么把上级目录切换回来相关的知识,希望对你有一定的参考价值。

路径怎么改。怎么把上级目录切换回本级目录,怎么改呢?

这二段代码分别在a.asp和b.asp单独运行是好好的,但是我在b.asp里include进了a.asp,所以需要对b.asp的内容做改动,否则有问题,我知道问题就出在重复Server.MapPath了,a.asp把路径切到了上级目录,而b.asp又需要在本级目录工作(即a.asp和b.asp同在的目录)。(只改b.asp,a.asp不动)

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

a.asp:
suu_path=Server.MapPath("../uvcx.asp") '把路径切换到了上级目录
suu_path=replace(suu_path,"uvcx.asp","")

------------------------------
b.asp:
<%
FSPath=GetFilePath(Server.mappath("upfile.asp"),"\")'取得当前文件在服务器路径(另外有个问题,为什么upfile.asp并不存在,怎么也可以这样写呢)
ServerPath=GetFilePath(Request.ServerVariables("HTTP_REFERER"),"/")'取得在网站上的位置
for each formName in upfile.file
set oFile=upfile.file(formname)
FileName=upfile.form(formName)
if not FileName>"" then FileName=oFile.filename
upfile.SaveToFile formname,FSPath&FileName
%>

参考技术A 用Server.MapPath("~/到你的网页相对路径") 试试
~代表项目目录
参考技术B suu_path=Server.MapPath("../uvcx.asp") 改成suu_path=Server.MapPath("./uvcx.asp")

各位大侠,c#中创建目录和文件时的路径问题!!!!!求助!!!!!!!!

c#,web程序,想在cs程序中根据指定路径创建windows目录及文件,写了下面的代码,报错为:是物理路径,应为虚拟路径,请问怎么改呢,对这块基本不懂。
strPATH = ChgPATH(txtLBPATH.Text) + this.ZSKWDLB_MC.Text + "\\";
if (!Directory.Exists(Server.MapPath(strPATH)))

Directory.CreateDirectory(Server.MapPath(strPATH));
File.Create(strPATH).Close();
strPATH 生成了之后是:c:/监管一室/

判断给出的路径是目录路径还是文件路径
如果能够确定给出的路径是已经存在的,那么可以使用Directory.Exists()和File.Exists()来判断路径是目录还是文件。不能确定给定的路径存在,可以使用Path.GetFileName()获取路径中的文件名,如能取到文件名显然路径是一个文件路径,如不能则是路径。说明,目录路径的最后一个字符应该是以’\’来结束。
合并路径
有些路径的不同部分是从不同的地方取得,这是需要将这些部分进行组合,形成一个完整的路径。在组合的过程中不可避免的要涉及到对”\”的处理,这时可以使用Path.Combine()把路径的不同部分组合到一起。Path.Combine()有多种形式的重载,满足不同的需求。需要说明的是,在用Path.Combine()不接受不合法的文件名或者路径名,并且在合并时,如果某一个部分是从绝对路径开始的,则合并操作重置为从该绝对路径开始,舍弃前面的已经合并的路径。例如:
string[] paths = @"d:\archives", "2001", "e:\\", "images";
string fullPath = Path.Combine(paths);
//fullPath 为 e:\images
Console.WriteLine(fullPath);

fullPath为e:\images
获取路径的特定部分,如:文件名,扩展名,文件目录等
Path.GetFileName(path);//获取文件名
Path.GetFileNameWithoutExtension(path); //获取文件名,不带扩展名
Path.GetExtension(path) ; //获取文件扩展名
Path.GetDirectoryName(path) ; //获取文件目录
Path.GetPathRoot(path) ;//获取根目录信息
更具体的可以参看MSDN http://msdn.microsoft.com/zh-cn/library/system.io.path_methods.aspx
Path其它的一些功能函数
Path.GetRandomFileName() 获取一个随机的文件名或者目录名
Path.GetTempFileName() 创建磁盘上唯一命名的零字节的一个临时文件并返回该文件的完整路径
Path.GetTempPath() 获取当前用户的临时目录路径
Path.HasExtension() 确定路径是否包含文件扩展名
获取和应用程序相关的路径
System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName 获取模块的完整路径,包括文件名。
System.Environment.CurrentDirectory 获取或设置应用程序当前工作目录的完全限定路径
System.IO.Directory.GetCurrentDirectory() 获取或设置应用程序的当前工作目录,不一定是应用程序的启动目录,是应用程序最后一次操作过的目录。
环境变量相关
使用System.Environment.GetEnvironmentVariable()能够获取和环境变量相关的文件路径,例如:
System.Environment.GetEnvironmentVariable("windir") 获取操作系统所在的目录
System.Environment.GetEnvironmentVariable("INCLUDE") 获取头文件所在的目录
System.Environment.GetEnvironmentVariable("TMP") 获取临时目录
System.Environment.GetEnvironmentVariable("Path") 获取Path环境变量所包含的文件目录
自然,使用System.Environment.SetEnvironmentVariable() 能够设置环境变量
参考技术A if (Directory.Exists(Application.StartupPath + "\\SmallTicket") == false)//在当前根目录下如果不存在就创建SmallTicket文件夹

Directory.CreateDirectory(Application.StartupPath + "\\SmallTicket");
参考技术B 首先,需要具有相应的权限。
使用 System.IO.Path.Combine 方法组合文件路径
参考技术C 用DirectoryInfo这个试试看吧!
string path="xxxxxxxxx";//文件路径

DirectoryInfo dire=new DirectoryInfo(path)
if(dire.Exists)

dire.Create();

本回答被提问者和网友采纳
参考技术D

以上是关于Server.MapPath的问题,怎么把上级目录切换回来的主要内容,如果未能解决你的问题,请参考以下文章

目录的概念

ASP中的server.Mappath方法可以获得()

Server.MapPath 的单元测试

关于调用WebService的路径问题?

C# 如何获取当前应用程序的上一级路径

C# 如何获取当前应用程序的上一级路径