25yicms利用ASP.NET(C#)+MSSQL技术全力打造功能最强大的营销型企业网站管理系统,企业做网站系统,做网站软件,提供div+css企业网站模板。
阅读内容

asp.net(C#)利用Directory.Move函数修改文件夹名


时间:2010/02/10   来源:25亿

        为了增加系统的安全效率问题,我们有时就得更改后台管理地址文件的文件名,对后台目录进行自定义,这样对系统加入了双保险,既使对方知道密码,由于找不到登陆后台地址,也无法对系统的内容进行修改和攻击。

        下面深刻讲解asp.net(C#)利用Directory.Move函数修改文件夹名,以25亿企业网站管理系统中的源码作为实例。

        asp.net(C#)利用Directory.Move函数修改文件夹名在25亿企业网站管理系统后台中的使用文件名为:addsafefile.aspx。

       首先我们要引入using System.IO。修改文件夹名的核心代码为: Directory.Move(lastsystemfilepath, newsystemfilepath);lastsystemfilepath为需要修改的文件夹名,newsystemfilepath修改后的文件名。在25亿企业网站管理系统中的详细操作代码如下:
            string lastsystemfilepath = HttpContext.Current.Server.MapPath("../../" + new Company.Templates.comm().GetSafeFile().Rows[0]["systemfilepath"].ToString().Trim() + "");
            string newsystemfilepath = HttpContext.Current.Server.MapPath("../../" + Request["txtsystemfilepath"].ToString().Trim() + "");
            if (!Directory.Exists(lastsystemfilepath))   //如果源文件夹不存在则建立
            {
                base.RegisterStartupScript("page", "location.href=location.href;", "原后台文件夹名不存在!");
            }
            else
            {
                if (!Directory.Exists(newsystemfilepath))   //如果目标文件夹不存在则建立
                {
                    //Directory.CreateDirectory(newsystemfilepath);
                    string Url = HttpContext.Current.Server.MapPath("../../Xml/SafeFile.config");
                    XmlDocument xmlDoc = new XmlDocument();
                    xmlDoc.Load(Url); //加载XML文件
                    XmlNode root = xmlDoc.SelectSingleNode("safe");
                    XmlNodeList xnl = root.ChildNodes;
                    for (int i = 0; i < xnl.Count; i++)
                    {
                        XmlNodeList xnl11 = xnl.Item(i).SelectNodes("safefile_id");
                        XmlElement xe = (XmlElement)xnl11.Item(0);
                        if (xe.InnerText == "1") //获取节点以及所有子集的串联值
                        {
                            xe.ParentNode.ChildNodes.Item(1).InnerText = Request["txtsystemfilepath"].ToString().Trim();

                            break;
                        }
                    }
                    xmlDoc.Save(Url);
                    try
                    {
                    
                        Directory.Move(lastsystemfilepath, newsystemfilepath);
                    }
                    catch (UnauthorizedAccessException exp)
                    {
                        string err = exp.Message;
                        throw new UnauthorizedAccessException("对路径\"" + Request["txtsystemfilepath"].ToString().Trim() + "\"的访问被拒绝。可能无写权限。");
                    }
                
                    Response.Write("<script>parent.location.href='../../" + Request["txtsystemfilepath"].ToString().Trim() + "/main.aspx'</script>");
                }
                else
                {
                    base.RegisterStartupScript("page", "location.href=location.href;", "文件夹名已存在,请重命名!");
                }
            }
        }
        catch(Exception ab)
        {
           Response.Write(ab.ToString());
        }

       上述代码有二个步骤,一个步骤是对新的文件名进行存储,存储于XML格式文件SafeFile.config中,所以第一个步骤是对XML文件的操作,第二个步骤就是利用Directory.Move函数移动文件夹文件,相应也对文件夹名进行了修改。
asp.net(C#)利用Directory.Move函数修改文件夹名详解完成,表达非常简单,需要深刻体会,请研究25亿企业网站管理系统源码。
作者: 企业网站管理系统
原载: 25亿企业网站管理系统
版权所有。转载时必须以链接形式注明作者和原始出处及本声明。

点击次数:       打印此页  关闭