国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 建站經驗 > 正文

3.1SP1-將風訊的數據庫設置到虛擬目錄外的方法

2024-08-30 19:06:11
字體:
來源:轉載
供稿:網友

本文討論區:http://bbs.foosun.net/dispbbs.asp?boardID=22&ID=16236&page=1

風訊的功能很大,但不知道大家有沒有碰到這個問題?
現在許多虛擬空間都提供了專用數據庫防下目錄,但這個目錄一般在WEB虛擬目錄之外,要用../的方式引用才可以。
為了安全,總想將數據庫放在虛擬目錄之外,但由于風訊使用相對于虛擬目錄的絕對路徑,
而使我們無法用 ../date 的方式引用虛擬目錄前的文件。本人為此寫了一個插件,此文件可將引用地址設置為相對于磁盤的絕對路徑引用。就是將目錄轉換為F:/xx/xx 的方式。

假設你的網站FTP目錄在F:/webroot/myfile
而你的WEB虛擬根目錄在myfile下的web文件里。在myfile下還有一個data目錄放一個名為data.mdb的數據庫文件。
下面為實現方法,

第一步、新建一個文件名為 VirtualPath.asp 文件內容如下:

<%
Function VirtualPath(Way,PathName,DelPath)
Dim MainPath,ArrayPath,Num,TempPath,i

Select Case UCase(Way)
Case "MAINPATH"
MainPath=Server.MapPath("/")&"/"
Case "FILEPATH"
MainPath=Request.ServerVariables("PATH_TRANSLATED")
Case Else
Response.Write "您輸入的參數有誤,第一個參數請輸入MainPath或FilePath。使用MainPath將以站點所在的虛擬目錄為參照截取;FilePath將以當前文件所在目錄為參照截取。"
Response.End
End Select

ArrayPath=Split(MainPath,"/")
Num=UBound(ArrayPath)

IF DelPath<>"" Then
For i=0 to Num
IF UCase(ArrayPath(i))= UCase(DelPath) Then
Exit For
End IF
Next
IF i>Num Then
Response.Write "沒有您要截取的目錄,請檢查參數的正確性。也可設置為空,此時將使用全部目錄。"
Response.End
End IF
End IF

TempPath=ArrayPath(0)
For i=1 to Num-1
IF UCase(ArrayPath(i))<>UCase(DelPath) Then
TempPath=TempPath & "/" & ArrayPath(i)
Else
Exit For
End IF
Next

VirtualPath=TempPath Replace(PathName,"/","/")
End Function
%>

第二步、

將新建的文件 VirtualPath.asp 放在風訊的INC目錄里。找到風訊INC目錄下的 Cls_DB.asp 這個文件
在第一行增加代碼 <!--#include file="VirtualPath.asp" -->
在文件 Cls_DB.asp 里找到代碼 Server.MapPath(DataBaseConnectStr) 用下面的代碼代替
VirtualPath("mainpath",DataBaseConnectStr,"web")

到現在為止 大功告成。注重 VirtualPath 函數的幾個參數,

第一個參數可設置為 mainpath 或filepath 設置為 mainpath 則表示相對于站的WEW虛擬目錄
設置為 filepath 則表示相對于VirtualPath.asp文件的所在目錄。
第二個參數表示要設置的數庫地址
第二個參數表示要截取的目錄,例如 F:/webroot/web 假如如下設置的VirtualPath("mainpath","/data/data.mdb","web")
最終產生的路徑為 F:/webroot/data/data.mdb

現在你明白了嗎?此文件不僅可用于風訊,可以用于任何ASP Access的程序。

有愛好的朋友不妨在一起討論一下。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 萍乡市| 山阴县| 京山县| 玉田县| 白玉县| 桐梓县| 遂平县| 沅陵县| 盐城市| 合川市| 屏东市| 邵武市| 平远县| 会泽县| 台东市| 容城县| 奈曼旗| 大同县| 高尔夫| 芦山县| 江陵县| 平顶山市| 吉林省| 措勤县| 莒南县| 扎赉特旗| 游戏| 玛纳斯县| 福海县| 信丰县| 苍溪县| 巍山| 鄂温| 环江| 金川县| 鲁甸县| 正镶白旗| 田阳县| 河南省| 南部县| 乐至县|