เมธอด server.mappath ได้รับการจัดระเบียบเพื่อใช้อ้างอิงโดยเพื่อนที่ต้องการ/ไดเร็กทอรีปัจจุบัน
/โฮมไดเร็กทอรีของเว็บไซต์
../ไดเรกทอรีบน
~/ไดเรกทอรีเสมือนของเว็บไซต์
หากไดเร็กทอรีของเว็บไซต์ปัจจุบันคือ E:/wwwroot ไดเร็กทอรีเสมือนของแอปพลิเคชันคือ E:/wwwroot/company และพาธของหน้าที่เรียกดูคือ E:/wwwroot/company/news/show.asp
ใช้ในหน้า show.asp
Server.MapPath(./) ส่งคืนเส้นทาง: E:/wwwroot/company/news
Server.MapPath(/) ส่งคืนเส้นทาง: E:/wwwroot
Server.MapPath(../) ส่งคืนเส้นทาง: E:/wwwroot/company
Server.MapPath(~/) ส่งคืนเส้นทาง: E:/wwwroot/company
server.MapPath (คำขอ ServerVariables (Path_Info))
Request.ServerVariables (Path_Translated)
เส้นทางกลับของสองวิธีข้างต้นคือ D:/wwwroot/company/news/show.asp
เมธอด MapPath แมปเส้นทางสัมพันธ์หรือเสมือนที่ระบุไปยังไดเร็กทอรีทางกายภาพที่สอดคล้องกันบนเซิร์ฟเวอร์
ไวยากรณ์
Server.MapPath(เส้นทาง)
พารามิเตอร์
เส้นทาง
ระบุเส้นทางสัมพัทธ์หรือเสมือนไปยังไดเร็กทอรีทางกายภาพที่จะแมป หาก Path ขึ้นต้นด้วยเครื่องหมายทับ (/) หรือแบ็กสแลช (/) เมธอด MapPath จะถือว่า Path เป็นเส้นทางเสมือนที่สมบูรณ์เมื่อส่งคืนเส้นทาง หาก Path ไม่ได้ขึ้นต้นด้วยเครื่องหมายทับ เมธอด MapPath จะส่งกลับเส้นทางที่สัมพันธ์กับเส้นทางที่มีอยู่ในไฟล์ .asp
ความคิดเห็น
เมธอด MapPath ไม่รองรับไวยากรณ์เส้นทางสัมพันธ์ (.) หรือ (..) ตัวอย่างเช่น เส้นทางสัมพันธ์ต่อไปนี้ ../MyDir/MyFile.txt ส่งกลับข้อผิดพลาด
เมธอด MapPath ไม่ได้ตรวจสอบว่าเส้นทางที่ส่งคืนนั้นถูกต้องหรือมีอยู่บนเซิร์ฟเวอร์
เนื่องจากเมธอด MapPath จะแมปเส้นทางเท่านั้นโดยไม่คำนึงว่ามีไดเร็กทอรีที่ระบุอยู่หรือไม่ คุณจึงสามารถใช้เมธอด MapPath เพื่อแมปเส้นทางไปยังโครงสร้างไดเร็กทอรีทางกายภาพได้ จากนั้นจึงส่งต่อไปยังส่วนประกอบที่สร้างไดเร็กทอรีหรือไฟล์ที่ระบุบนเซิร์ฟเวอร์
ตัวอย่าง
สำหรับตัวอย่างต่อไปนี้ ไฟล์ data.txt และไฟล์ test.asp ที่มีสคริปต์ต่อไปนี้จะอยู่ในไดเร็กทอรี C:/Inetpub/Wwwroot/Script ไดเร็กทอรี C:/Inetpub/Wwwroot ถูกตั้งค่าเป็นโฮมไดเร็กทอรีของเซิร์ฟเวอร์
ตัวอย่างต่อไปนี้ใช้ตัวแปรเซิร์ฟเวอร์ PATH_INFO เพื่อแมปเส้นทางทางกายภาพไปยังไฟล์ปัจจุบัน สคริปต์
<%= server.mappath (คำขอ ServerVariables (PATH_INFO))% <BR>
เอาท์พุท
c:/inetpub/wwwroot/script/test.asp<BR>
เนื่องจากพารามิเตอร์พาธในตัวอย่างต่อไปนี้ไม่ได้ขึ้นต้นด้วยอักขระสแลช จึงค่อนข้างแมปกับไดเร็กทอรีปัจจุบัน ในกรณีนี้คือ C:/Inetpub/Wwwroot/Script สคริปต์
<%= เซิร์ฟเวอร์ mappath(data.txt)%><BR>
<%= server.mappath(สคริปต์/data.txt)%><BR>
เอาท์พุท
c:/inetpub/wwwroot/script/data.txt<BR>
c:/inetpub/wwwroot/script/script/data.txt<BR>
สองตัวอย่างถัดไปใช้อักขระเครื่องหมายทับเพื่อระบุว่าเส้นทางที่ส่งคืนควรถือเป็นเส้นทางเสมือนแบบเต็มบนเซิร์ฟเวอร์ สคริปต์
<%= server.mappath(/script/data.txt)%><BR>
<%= เซิร์ฟเวอร์ mappath(/script)%><BR>
เอาท์พุท
c:/inetpub/script/data.txt<BR>
c:/inetpub/สคริปต์<BR>
ตัวอย่างต่อไปนี้แสดงวิธีใช้เครื่องหมายทับ (/) หรือเครื่องหมายทับด้านหลัง (/) เพื่อส่งคืนเส้นทางทางกายภาพของไดเรกทอรีโฮสต์ สคริปต์
<%= เซิร์ฟเวอร์ mappath(/)%><BR>
<%= เซิร์ฟเวอร์ mappath(/)%><BR>
เอาท์พุท
c:/inetpub/wwwroot<BR>
c:/inetpub/wwwroot<BR>