將Web站點下的絕對路徑轉換為虛擬路徑

2021-04-07 03:27:14 字數 1650 閱讀 8808

很經常使用到的乙個功能,但在在網上卻一直沒有找到相關的解決方法,今天藉著專案應用到的機會寫了兩個將絕對路徑轉換為虛擬路徑封裝好的方法

將web站點下的絕對路徑轉換為相對於指定頁面的虛擬路徑

/**/

//////

將web站點下的絕對路徑轉換為相對於指定頁面的虛擬路徑

//////

當前頁面指標,一般為this

///絕對路徑

///虛擬路徑, 型如: ../../

public

static

string

convertspecifiedpathtorelativepathforpage(page page, 

string

specifiedpath)/"

是虛擬路徑而不是絕對路徑!

", specifiedpath));}//

轉換成相對路徑 

//(測試發現,pathrooted 在 vs2005 自帶的伺服器跟在iis下根目錄或者虛擬目錄執行似乎不一樣,

//有此地方後面會加"/", 有些則不會, 為保險起見判斷一下)

if(pathrooted.substring(pathrooted.length -1

, 1

) =="//

")

else

string

relativepath 

=specifiedpath.replace("//

", "/

");

string

pagenodes 

=pagevirtualpath.split('/

');

//減去最後乙個頁面和前面乙個 "" 值

intpagenodescount 

=pagenodes.length -2

;for

(inti =

0; i 

<

pagenodescount; i++)

if(pagenodescount 

>0)

return

relativepath;}

第二個方法顯然是從第乙個方法中的前部分抽取出來的,所以懶得去新增相關注釋 :p

將web站點下的絕對路徑轉換為虛擬路徑

/**/

//////

將web站點下的絕對路徑轉換為虛擬路徑

///注:非web站點下的則不轉換

//////

當前頁面指標,一般為this

///絕對路徑

///虛擬路徑, 型如: ~/

public

static

string

convertspecifiedpathtorelativepath(page page, 

string

specifiedpath)

if(pathrooted.substring(pathrooted.length -1

, 1

) =="//

")

else

string

relativepath 

=specifiedpath.replace("//

", "/

");

return

relativepath;}

C 將絕對路徑轉換為相對路徑

在專案中常需要將絕對路徑,轉換為相對路徑,來增加程式相關配置的的靈活性 不用因為整體挪個位置就導致我們的程式不能正常工作 自己寫 解決 private string relativepath string absolutepath,string relativeto 通過c 中uri類來解決 sys...

絕對路徑轉換為相對路徑

最近寫了個工作上要用到的工具,要和同事共用,需要儲存各種檔案路徑,為了保證我們的檔案結構相同,且減少檔案錯亂的問題,在儲存檔案路徑的時候決定用相對路徑來實現,就像vs裡生成路徑一樣,隨便把專案考到哪個地方都能保持正常執行。需要轉換為相對路徑的源路徑 f a b c 1 c 2 c 3 c 4 先找到...

PHP 相對路徑轉換為絕對路徑 realpath

相對路徑 絕對路徑 realpath param string in rel relative directory param string out abs absolute directory define path max 255 function sub rel2abs string in r...