先看圖:
1,首先在本機e盤下面建立red資料夾,夾子內繼續建立conn.asp檔案,檔案內容如下:
主要除錯三種路徑最後顯示的結果。
2,在red資料夾下面建立資料夾database,該夾子內部存放cnbruce.mdb檔案。
所以現在可以很肯定的知道資料庫檔案的絕對路徑是:e:/red/database/cnbruce.mdb
以上應該沒有問題吧,很明白的繼續往下看,不明白的趕快學下windows作業系統 -_-!
3,為了進行比較對照,繼續在red資料夾下面建立blue資料夾,該夾子內部存放同樣的conn.asp檔案
4,當然很重要的就是對red資料夾進行虛擬目錄的設定。方法是在red資料夾上右鍵滑鼠,選擇「共享...」,彈出視窗中繼續選擇「web共享」標籤,選擇「共享這個資料夾」,別名設為「red」。最後「確定」。
5,ok,現在就可以來除錯兩個conn.asp檔案了。
先看red資料夾下面的,輸入的url應該是:http://localhost/red/conn.asp
**結果可以知道其中只有乙個正確,那就是
6,再來看red資料夾下的blue資料夾內的,url:http://localhost/red/blue/conn.asp
觀察結果,仍然有乙個正確,那就是
7,來總結下:為什麼兩次顯示正確路徑的不是同一**呢?
很顯然是相對路徑的緣故。red資料夾下的conn.asp檔案和database資料夾是兄弟關係,所以要找到cnbruce.mdb,就可以直接database/cnbruce.mdb
而blue資料夾下的conn.asp和database資料夾是侄叔關係,要找cnbruce.mdb,當然是../database/cnbruce.mdb,其中../就是到上一層。
8,那再看c:/inetpub/wwwroot/下面了,那就是因為在"database"前面新增了"/",表示到達根目錄,而本地的iis虛擬根目錄就是c:/inetpub/wwwroot/,這在預設web站點屬性裡面有。
9,注意,再看!一直都是在本地的,那上傳到網路上有是怎麼樣呢?
首先,要正確清醒地知道conn.asp連線檔案和*.mdb資料庫檔案的位址關係
建議,最好不採用"/"路徑。因為這涉及到虛擬主機和非虛擬主機的問題。
所謂虛擬主機,比如我本人的站點,其虛擬的根目錄就是**本身的根目錄,不存在轉向到c:/inetpub/wwwroot/的問題。
可以除錯
可以看出:採用"/"的時候的路徑顯示就是本站的根位址。
而象6to23之類就不一樣了。
因為網域名稱以及虛擬位址的分配都出來的zjfmeteor,所以採用"/"時就非站點根,是站點根再加自己的註冊名。
綜上,一般最好不採用"/",當採用另兩種時就要注意conn.asp檔案和資料庫檔案的相對路徑了。
有關Server Mappath詳細接觸
先看圖 1,首先在本機e盤下面建立red資料夾,夾子內繼續建立conn.asp檔案,檔案內容如下 主要除錯三種路徑最後顯示的結果。2,在red資料夾下面建立資料夾database,該夾子內部存放cnbruce.mdb檔案。所以現在可以很肯定的知道資料庫檔案的絕對路徑是 e red database ...
有關於快取
我們使用快取的目的主要有如下幾點 1 減少資料庫查詢次數,降低資料庫負載。2 縮短php執行路徑,降低web前端負載。3 減少webserver的請求數量,降低web前端負載。第一項 比較接近底層,主要做細粒度資料快取,比如快取乙個資料物件,一行記錄等。只有當物件中的屬性或記錄中的字段值發生變化後使...
有關sql注入
大家存在5點誤區 1 sql注入比較難防,需要替換select,delete等一打字元 其實對於字元型替換再多都沒有替換單引號為兩個單引號來的好!對於數字型替換再多都沒有用,一定要型別轉換。2 忽略dropdownlist傳來的東西 其實是不對的,一切客戶端的東西都是不可信任的,select下拉框也...