4.9 ฟังก์ชันเกี่ยวกับระบบไฟล์ (File System Function)
ระบบไฟล์ หมายถึง กลุ่มของสารสนเทศที่เชื่อมโยงสัมพันธ์กัน ถูกใช้เพื่อควบคุมการเรียกใช้ และจัดเก็บข้อมูลภายในระบบ ฟังก์ชันจัดการระบบไฟล์ PHP สามารถจัดเก็บในรูปแบบของ Text File โดยไม่ต้องมีฐานข้อมูลก็ได้
4.9.1 ฟังก์ชันเกี่ยวกับการเปิดและปิดไฟล์
การเปิดไฟล์เป็นการทำงานขั้นตอนแรกก่อนที่จะเริ่มทำการทำงานใดๆ ต่อไฟล์ ซึ่งการเปิดไฟล์ จะเป็นการบอกตำแหน่งและชื่อของไฟล์งานที่ต้องการใช้งาน เมื่อกระทำการใดๆ ต่อไฟล์เรียบร้อยแล้ว ควรจะทำการปิดไฟล์ด้วยทุกครั้ง
รูปแบบของฟังก์ชัน fopen()
รูปแบบของฟังก์ชันฟังก์ชัน fclose()
โหมด (Mode) สำหรับการเปิดไฟล์มีดังนี้
โหมด (Mode) ในการเปิดไฟล์ | คำอธิบาย |
r | โหมดอ่าน | เปิดไฟล์สำหรับการอ่าน เริ่มทำงานที่ต้นไฟล์ |
r+ | โหมดอ่าน | เปิดไฟล์สำหรับการอ่านและเขียน เริ่มทำงานที่ต้นไฟล์ |
w | โหมดเขียน | เปิดไฟล์สำหรับการเขียน เริ่มทำงานที่ต้นไฟล์ ถ้ามีไฟล์อยู่แล้วจะลบข้อมูลที่มีอยู่ ถ้าไม่มีไฟล์จะสร้างขึ้นใหม่ |
w+ | โหมดเขียน | เปิดไฟล์สำหรับการเขียนและอ่าน เริ่มทำงานที่ต้นไฟล์ ถ้ามีไฟล์อยู่แล้วจะลบข้อมูลที่มีอยู่ ถ้าไม่มีไฟล์จะสร้างขึ้นใหม่ |
a | โหมดเพิ่ม | เปิดไฟล์สำหรับการเพิ่ม (เขียน) เริ่มทำงานจากจุดสิ้นสุดของข้อมูลที่มีอยู่ ถ้าไม่มีไฟล์จะได้รับการสร้างขึ้นใหม่ |
a+ | โหมดเพิ่ม | เปิดไฟล์สำหรับการเพิ่ม (เขียน) และอ่าน เริ่มทำงานจากจุดสิ้นสุดของข้อมูลที่มีอยู่ ถ้าไม่มีไฟล์จะได้รับการสร้างขึ้นใหม่ |
x | เปิดไฟล์เพื่อเขียนข้อมูล โดยจะทำการสร้างไฟล์ข้อมูลใหม่ พร้อมทั้งมีการส่งค่า False และ Error กลับมาหากไฟล์นั้นมีอยู่แล้ว |
x+ | เปิดไฟล์เพื่ออ่านและเขียนข้อมูล โดยจะทำการสร้างไฟล์ข้อมูลใหม่ พร้อมทั้งมีการส่งค่า False และ Error กลับมาหากไฟล์นั้นมีอยู่แล้ว |
ตัวอย่างโปรแกรมที่ 4.20 การใช้ฟังก์ชัน fopen() และฟังก์ชัน fclose()
เขียนคำสั่งโปรแกรมภาษาพีเอชพี ตามตัวอย่าง แล้วบันทึกไฟล์ชื่อ Test_fopen.php เปิดไฟล์ที่กำหนดเพื่ออ่านข้อมูลอย่างเดียว
Source Code:
ผลลัพธ์ที่ได้
อธิบายโปรแกรม
บรรทัดที่ 1 เปิดแท็กคำสั่งภาษาพีเอชพี
บรรทัดที่ 2 กำหนดตัวแปร $file เก็บค่าจากการเรียกใช้ฟังก์ชัน fopen เปิดไฟล์ที่กำหนดเพื่ออ่านข้อมูลอย่างเดียว
บรรทัดที่ 3 แสดงค่าตัวแปร $file จากการเรียกใช้ฟังก์ชัน fopen
บรรทัดที่ 4 เรียกใช้ฟังก์ชัน fclose เพื่อปิดไฟล์ที่เปิดขึ้นมา
บรรทัดที่ 5 ปิดแท็กคำสั่งภาษาพีเอชพี
4.9.2 ฟังก์ชันเกี่ยวกับการอ่านไฟล์
ฟังก์ชันเกี่ยวกับการอ่านไฟล์ ช่วยให้รู้ว่าไฟล์ข้อมูลนั้นเก็บรายละเอียดของอะไรบ้างภายในไฟล์ ฟังก์ชันที่น่าสนใจเกี่ยวกับการอ่านไฟล์มีดังนี้
4.9.2.1 ฟังก์ชัน freead()
รูปแบบ การใช้ฟังก์ชัน fread()
File คือ ตำแหน่งของไฟล์หรือชื่อไฟล์ที่ต้องการ
Length คือ จำนวนไบต์ที่ต้องการอ่าน
ตัวอย่างโปรแกรมที่ 4.21 การใช้ฟังก์ชัน fread()
เขียนคำสั่งโปรแกรมภาษาพีเอชพี ตามตัวอย่าง แล้วบันทึกไฟล์ชื่อ Test_fread.php
Source Code:
ผลลัพธ์ที่ได้
อธิบายโปรแกรม
บรรทัดที่ 1 เปิดแท็กคำสั่งภาษาพีเอชพี
บรรทัดที่ 2 กำหนดตัวแปร $file เก็บค่าจากการเรียกใช้ฟังก์ชัน fopen เปิดไฟล์ที่กำหนดเพื่ออ่านข้อมูลอย่างเดียว
บรรทัดที่ 3 กำหนดตัวแปร $content เก็บค่าจากการเรียกใช้ฟังก์ชัน fread จากตัวแปร $file และอ่านข้อมูลจำนวน 11 ตัวอักษร
บรรทัดที่ 4 แสดงค่าตัวแปร $ content
บรรทัดที่ 5 เรียกใช้ฟังก์ชัน fclose เพื่อปิดไฟล์ที่เปิดขึ้นมา
บรรทัดที่ 6 ปิดแท็กคำสั่งภาษาพีเอชพี
4.9.2.2 ฟังก์ชัน fgets()
รูปแบบ การใช้ฟังก์ชัน fgets()
File คือ ตำแหน่งของไฟล์หรือชื่อไฟล์ที่ต้องการ
Length คือ จำนวนไบต์ที่ต้องการอ่าน
ตัวอย่างโปรแกรมที่ 4.22 การใช้ฟังก์ชัน fgets()
เขียนคำสั่งโปรแกรมภาษาพีเอชพี ตามตัวอย่าง แล้วบันทึกไฟล์ชื่อ Test_fgets.php
Source Code:
ผลลัพธ์ที่ได้
อธิบายโปรแกรม
บรรทัดที่ 1 เปิดแท็กคำสั่งภาษาพีเอชพี
บรรทัดที่ 2 กำหนดตัวแปร $file เก็บค่าจากการเรียกใช้ฟังก์ชัน fopen เปิดไฟล์ที่กำหนดเพื่ออ่านข้อมูลอย่างเดียว
บรรทัดที่ 3 – 6 ใช้คำสั่ง while ในการตรวจสอบเงื่อนไข โดยใช้ฟังก์ชัน feof ตรวจสอบว่ายังไม่ถึงจุดสิ้นไฟล์จริงหรือไม่ ถ้าเป็นจริง จะทำตามคำสั่งภายในคำสั่ง while โดยใช้คำสั่ง fgets อ่านข้อมูลในตัวแปร $file ออกมาทีละบรรทัด จะทำเช่นนี้จนกว่าเงื่อนไขจะเป็นเท็จ
บรรทัดที่ 7 เรียกใช้ฟังก์ชัน fclose เพื่อปิดไฟล์ที่เปิดขึ้นมา
บรรทัดที่ 8 ปิดแท็กคำสั่งภาษาพีเอชพี
4.9.2.3 ฟังก์ชัน file()
รูปแบบ การใช้ฟังก์ชัน file()
path คือ ตำแหน่งของไฟล์หรือชื่อไฟล์ที่ต้องการ
ตัวอย่างโปรแกรมที่ 4.23 การใช้ฟังก์ชัน file()
เขียนคำสั่งโปรแกรมภาษาพีเอชพี ตามตัวอย่าง แล้วบันทึกไฟล์ชื่อ Test_file.php
Source Code:
ผลลัพธ์ที่ได้
อธิบายโปรแกรม
บรรทัดที่ 1 เปิดแท็กคำสั่งภาษาพีเอชพี
บรรทัดที่ 2 กำหนดตัวแปร $file เก็บค่าจากการเรียกใช้ฟังก์ชัน fopen เปิดไฟล์ที่กำหนดเพื่ออ่านข้อมูลอย่างเดียว
บรรทัดที่ 3 – 6 ใช้คำสั่ง while ในการตรวจสอบเงื่อนไข โดยใช้ฟังก์ชัน feof ตรวจสอบว่ายังไม่ถึงจุดสิ้นสุดไฟล์จริงหรือไม่ ถ้าเป็นจริง จะทำตามคำสั่งภายในคำสั่ง while โดยใช้คำสั่ง fgets อ่านข้อมูลในตัวแปร $file ออกมาทีละบรรทัด จะทำเช่นนี้จนกว่าเงื่อนไขจะเป็นเท็จ
บรรทัดที่ 7 เรียกใช้ฟังก์ชัน fclose เพื่อปิดไฟล์ที่เปิดขึ้นมา
บรรทัดที่ 8 ปิดแท็กคำสั่งภาษาพีเอชพี