在ASP中完成通用的絕對(duì)路徑生成方法
發(fā)表時(shí)間:2024-01-24 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]在我開(kāi)發(fā)ASP + Access的Web應(yīng)用時(shí),都會(huì)遇到數(shù)據(jù)庫(kù)文件路徑的定位問(wèn)題。如果在自己的計(jì)算機(jī)上實(shí)現(xiàn)時(shí)可以直接指定了事,但如果做的項(xiàng)目要上傳到別的服務(wù)器或移動(dòng)別的機(jī)器上運(yùn)行使用,每次都要把這個(gè)路徑改來(lái)改去的話顯得有些繁鎖,下面結(jié)合我做這個(gè)網(wǎng)站的經(jīng)驗(yàn)來(lái)解決這個(gè)問(wèn)題,讓我們可以“一勞永逸”。 在...
在我開(kāi)發(fā)ASP + Access的Web應(yīng)用時(shí),都會(huì)遇到數(shù)據(jù)庫(kù)文件路徑的定位問(wèn)題。如果在自己的計(jì)算機(jī)上實(shí)現(xiàn)時(shí)可以直接指定了事,但如果做的項(xiàng)目要上傳到別的服務(wù)器或移動(dòng)別的機(jī)器上運(yùn)行使用,每次都要把這個(gè)路徑改來(lái)改去的話顯得有些繁鎖,下面結(jié)合我做這個(gè)網(wǎng)站的經(jīng)驗(yàn)來(lái)解決這個(gè)問(wèn)題,讓我們可以“一勞永逸”。
在ASP中使用Server.MapPath("file.asp")語(yǔ)句后,會(huì)返回該文件在本地驅(qū)動(dòng)器上的絕對(duì)路徑,如“D:\MySite\test\file.asp”,所以在不同的子目錄的不同文件使用這條語(yǔ)句就只會(huì)返回那個(gè)文件所在路徑,這樣我們就不能簡(jiǎn)單地利用這條語(yǔ)句解決上面的問(wèn)題,但只要稍加利用這條方法和其它與個(gè)字符函數(shù)就可以輕松解決上面的問(wèn)題。
現(xiàn)在假設(shè)你的站點(diǎn)目錄結(jié)構(gòu)如下:
MySite
- db
- db1.mdb
- db2.mdb
- sub_folder
- hello.asp
- search.asp
- index.asp
只要我們?cè)谛枰L問(wèn)數(shù)據(jù)庫(kù)的asp文件中加入以下語(yǔ)句:
if session("rootDir") = "" then
dim str
str = Server.MapPath("db")
session("rootDir") = Mid(str, 1, InStr(1, str, "MySite", 1) - 1) & "MySite\db"
end if
...
Set conn = Server.CreateObject("adodb.connection")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & session("rootDir") & "\db1.mdb" & ";pwd=" & pw
這樣在session("rootDir")中就存放你站點(diǎn)中子目錄“db”的絕結(jié)路徑,當(dāng)你改變你站點(diǎn)的主目錄或移到別的機(jī)器的情況下就可以不需要理會(huì)數(shù)據(jù)庫(kù)文件的存取路徑問(wèn)題了。