แนะนำตัว
สามารถใช้โปรโตคอลรูปแบบ URL ต่างๆ กับฟังก์ชันระบบไฟล์ได้ด้วยความช่วยเหลือของแรปเปอร์ในตัวที่เกี่ยวข้องซึ่งมีอยู่ใน PHP stream_wrapper_register() นอกจากนี้ยังมีฟังก์ชันสำหรับกำหนด wrapper แบบกำหนดเอง
wrapper เริ่มต้นใน PHP คือ file:// และแสดงถึงระบบไฟล์ในเครื่อง หากไม่มีการใช้โปรโตคอลอื่นอย่างชัดแจ้ง PHP parser จะถือว่าเป็นตัวห่อหุ้มระบบไฟล์ อาร์กิวเมนต์ชื่อไฟล์ที่กำหนดให้กับฟังก์ชันระบบไฟล์ fopen() , file_get_contents() etc ใช้ file:// โปรโตคอลตามค่าเริ่มต้น
เมื่อชื่อไฟล์ไม่ได้ขึ้นต้นด้วยเครื่องหมายสแลชไปข้างหน้าหรือข้างหลัง หรืออักษรชื่อไดรฟ์ใน Windows ระบบจะถือว่าพาธของไฟล์นั้นสัมพันธ์กับไดเร็กทอรีปัจจุบัน อย่างไรก็ตาม ในฟังก์ชัน fopen() และ file_get_contents() อาจมีการค้นหาชื่อไฟล์ในตำแหน่งที่กล่าวถึงใน include_path คำสั่ง
file:// wrapper รองรับการดำเนินการอ่าน/เขียนพร้อมกัน การสร้างและการลบไดเร็กทอรี และการเปลี่ยนชื่อไฟล์ นอกจากนี้ การเข้าถึงไฟล์ไม่ได้ถูกจำกัดโดย allow_url_fopen คำสั่งในการตั้งค่าการกำหนดค่า php.ini
ตัวอย่าง
การแสดงชื่อไฟล์ในรูปแบบต่างๆ มีดังนี้ -
//เส้นทางที่แน่นอน
$file=fopen("C:/xampp/php/test/test.txt","w");
//เส้นทางสัมพัทธ์ (สมมติว่าไดเร็กทอรีการทำงานปัจจุบันคือ c:\xampp\php ไฟล์จะถูกเปิดในไดเร็กทอรีย่อย tst)
$file=fopen("test/test.txt","w");
//เส้นทางปัจจุบัน . ไฟล์จะถูกเปิดในไดเร็กทอรี c:\xampp\php\test โดยถือว่าเป็นไดเร็กทอรีปัจจุบัน
$file=fopen("test.txt","w");
//ใช้ file://protocol สำหรับเส้นทางที่แน่นอน
$file=fopen("file:///c:/xampp/php/test/test.txt","w");
//ใช้ file://protocol สำหรับไฟล์ในรูทเอกสาร
$file=fopen("file://localhost/test/test.txt","w");