copy Copy chevron-down
Advanced folder-arrow-down File Open/Readนรินทร์ ศรีมังกร 640710140
การเปิดและอ่านไฟล์ใน PHP (File Open/Read)
คือ การจัดการไฟล์ใน PHP เป็นพื้นฐานที่สำคัญมากในการจัดการข้อมูลที่อยู่ภายนอกโปรแกรม เช่น ไฟล์ข้อมูลที่ถูกเก็บไว้ในเครื่องหรือเซิร์ฟเวอร์ ฟังก์ชันที่เรามักใช้ในการทำงานกับไฟล์ ได้แก่:
fopen() : ใช้สำหรับเปิดไฟล์ หากเปิดได้สำเร็จจะคืนค่าเป็นตัวชี้ไฟล์ (file pointer) ที่สามารถนำไปใช้กับฟังก์ชันอื่น ๆ ได้
fread() : ใช้สำหรับอ่านข้อมูลจากไฟล์ โดยต้องระบุว่าต้องการอ่านข้อมูลเท่าไหร่
fclose() : ใช้สำหรับปิดไฟล์หลังจากที่เราใช้งานเสร็จ
fgets() : ใช้สำหรับอ่านข้อมูลจากไฟล์ทีละบรรทัด
feof() : ใช้ตรวจสอบว่าถึงจุดสิ้นสุดของไฟล์แล้วหรือยัง (EOF - End of File)
fgetc() : ใช้สำหรับอ่านไฟล์ทีละตัวอักษร
แต่ละฟังก์ชันจะมีลักษณะการใช้งานเฉพาะตัว ซึ่งจะช่วยให้เราจัดการข้อมูลจากไฟล์ได้อย่างมีประสิทธิภาพตามที่ต้องการ
1. การเปิดไฟล์ใน PHP - fopen()
ฟังก์ชัน fopen() ใน PHP เป็นฟังก์ชันพื้นฐานที่ใช้สำหรับเปิดไฟล์หรือ URL ซึ่งจะสร้าง "สตรีม" (stream) เพื่อเชื่อมต่อไฟล์กับโปรแกรม ฟังก์ชันนี้จำเป็นต้องใช้พารามิเตอร์ 2 ตัว คือ:
ชื่อไฟล์ (filename) : คือ ไฟล์ที่เราต้องการเปิด เช่น example.txt
โหมด (mode) : ใช้ระบุว่าเราต้องการเปิดไฟล์ในลักษณะใด เช่น เปิดเพื่ออ่าน, เขียน, หรืออ่านและเขียนพร้อมกัน
โหมดการเปิดไฟล์ (File Modes)
เมื่อเราเปิดไฟล์ด้วยฟังก์ชัน fopen() ใน PHP ต้องระบุโหมดในการเปิดไฟล์ ซึ่งแต่ละโหมดจะมีความหมายและการทำงานที่แตกต่างกันออกไป ดังนี้:
เปิดไฟล์เพื่ออ่านข้อมูลเท่านั้น ตัวชี้ไฟล์จะเริ่มที่จุดเริ่มต้นของไฟล์
เปิดไฟล์เพื่อทั้งอ่านและเขียน ตัวชี้ไฟล์จะเริ่มที่จุดเริ่มต้นของไฟล์
เปิดไฟล์เพื่อเขียนข้อมูลเท่านั้น ไฟล์จะถูกล้างข้อมูลเก่าทิ้ง และตัวชี้ไฟล์จะเริ่มที่จุดเริ่มต้นของไฟล์ ถ้าไฟล์ไม่มีอยู่แล้ว มันจะสร้างไฟล์ใหม่
เปิดไฟล์เพื่อทั้งอ่านและเขียน ไฟล์จะถูกล้างข้อมูลเก่าทิ้ง และตัวชี้ไฟล์จะเริ่มที่จุดเริ่มต้นของไฟล์ ถ้าไฟล์ไม่มีอยู่แล้ว มันจะสร้างไฟล์ใหม่
เปิดไฟล์เพื่อเขียนข้อมูลต่อท้าย ตัวชี้ไฟล์จะอยู่ที่จุดสิ้นสุดของไฟล์ ถ้าไฟล์ไม่มีอยู่แล้ว มันจะสร้างไฟล์ใหม่
เปิดไฟล์เพื่อทั้งอ่านและเขียน โดยเขียนข้อมูลต่อท้าย ตัวชี้ไฟล์จะอยู่ที่จุดสิ้นสุดของไฟล์ ถ้าไฟล์ไม่มีอยู่แล้ว มันจะสร้างไฟล์ใหม่
สร้างไฟล์ใหม่และเปิดเพื่อเขียนเท่านั้น ตัวชี้ไฟล์จะเริ่มที่จุดเริ่มต้นของไฟล์ ถ้าไฟล์มีอยู่แล้ว จะเปิดไฟล์ไม่ได้ (fopen() จะคืนค่า FALSE)
คล้ายกับโหมด x แต่เปิดไฟล์เพื่อทั้งอ่านและเขียน
เปิดไฟล์เพื่อเขียนเท่านั้น ถ้าไฟล์ไม่มีอยู่ จะสร้างไฟล์ใหม่ ถ้าไฟล์มีอยู่แล้ว ข้อมูลเก่าจะไม่ถูกลบ ตัวชี้ไฟล์จะเริ่มที่จุดเริ่มต้น
คล้ายกับโหมด c แต่เปิดไฟล์เพื่อทั้งอ่านและเขียน
ตัวอย่าง Syntax
2. การอ่านไฟล์ใน PHP - fread()
ฟังก์ชัน fread() ใน PHP เป็นฟังก์ชันที่ใช้สำหรับอ่านข้อมูลจากไฟล์ที่เปิดอยู่ โดยฟังก์ชันนี้สามารถอ่านข้อมูลได้สูงสุดถึงจำนวนไบต์ที่เรากำหนด ซึ่งจะอ่านข้อมูลจากตำแหน่งปัจจุบันของตัวชี้ไฟล์ (file pointer) ไปยังไฟล์ที่เราเปิดอยู่
ตัวอย่าง Syntax
3. การปิดไฟล์ใน PHP - fclose()
ฟังก์ชัน fclose() ใน PHP เป็นฟังก์ชันที่ใช้สำหรับปิดไฟล์ที่เราได้เปิดอยู่ก่อนหน้านี้ โดยจะทำงานกับตัวชี้ไฟล์ (file pointer) ที่ได้จากการเปิดไฟล์ด้วยฟังก์ชัน fopen() ซึ่งการปิดไฟล์เป็นสิ่งที่สำคัญเพื่อให้ระบบสามารถจัดการทรัพยากรได้อย่างมีประสิทธิภาพ
ตัวอย่าง Syntax
4. การอ่านบรรทัดเดียวในไฟล์ - fgets()
ฟังก์ชัน fgets() ใน PHP เป็นเครื่องมือที่ใช้ในการอ่านข้อมูลจากไฟล์ทีละบรรทัด ซึ่งเหมาะสำหรับการทำงานกับไฟล์ที่มีข้อมูลเป็นข้อความในรูปแบบบรรทัด การทำงานของฟังก์ชันนี้จะอ่านข้อมูลจากไฟล์จนกว่าจะถึงจุดสิ้นสุดของบรรทัด
ตัวอย่าง Syntax
5. การตรวจสอบจุดสิ้นสุดของไฟล์ - feof()
ฟังก์ชัน feof() ใน PHP เป็นฟังก์ชันที่ใช้ตรวจสอบว่าถึงจุดสิ้นสุดของไฟล์ (EOF: End-of-File) หรือไม่ ซึ่งเป็นเครื่องมือที่มีประโยชน์มากในกรณีที่เราต้องการวนลูปอ่านข้อมูลจากไฟล์ที่มีความยาวไม่แน่นอนจนกว่าจะถึงจุดสิ้นสุดของไฟล์
ตัวอย่าง Syntax
6. การอ่านตัวอักษรเดียวจากไฟล์ - fgetc()
ฟังก์ชัน fgetc() ใน PHP ใช้ในการอ่านข้อมูลจากไฟล์ทีละตัวอักษร (character) โดยจะอ่านเพียงหนึ่งตัวอักษรในแต่ละครั้งที่เรียกใช้ฟังก์ชันนี้ ฟังก์ชันนี้มีประโยชน์มากสำหรับการประมวลผลข้อมูลที่ต้องการอ่านไฟล์ทีละตัวอักษร ซึ่งสามารถใช้ในกรณีที่ต้องการจัดการหรือวิเคราะห์ข้อมูลในลักษณะที่ละเอียดมากขึ้น
ตัวอย่าง Syntax
เปรียบเทียบกับภาษา Java/C/Python
fopen(), fread(), fclose(), fgets(), feof(), fgetc()
FileReader, BufferedReader, FileInputStream
fopen(), fread(), fclose(), fgets(), feof(), fgetc()
open(), read(), readline(), close()
เปิดและปิดไฟล์ได้ง่ายผ่านฟังก์ชัน
ใช้ออบเจ็กต์ในการจัดการไฟล์
เปิดและปิดไฟล์ได้ง่ายผ่านฟังก์ชัน
เปิดและปิดไฟล์ได้ง่ายผ่าน with
อ่านได้ทั้งแบบทีละไบต์, ตัวอักษร, หรือบรรทัด
อ่านได้ทั้งแบบทีละไบต์, ตัวอักษร, หรือบรรทัด
อ่านได้ทั้งแบบทีละไบต์, ตัวอักษร, หรือบรรทัด
อ่านได้ทั้งแบบทีละไบต์, ตัวอักษร, หรือบรรทัด
แหล่งที่มาอ้างอิง
> สำหรับ กำหนดหัวข้อเนื้อหา และความหมาย
W3Schools. (2024). PHP file open . W3Schoolsarrow-up-right
PHP.net. (2024). function . PHP.netarrow-up-right
> สำหรับ โหมดการเปิดไฟล์ และความหมาย
JavaTpoint. (2024). PHP open file . JavaTpointarrow-up-right
> สำหรับ โค้ดภาษา php
GeeksforGeeks. (2024). PHP Basics – File Handling . GeeksforGeeksarrow-up-right
The PHP Group. (2024). function . PHP Manualarrow-up-right
> สำหรับ โค้ดภาษา java
GeeksforGeeks. (2024). BufferedReader read() method in Java with examples . GeeksforGeeksarrow-up-right
Selawsky, J. (2024). BufferedReader and BufferedWriter . JavaRusharrow-up-right
DigitalOcean. (2024). How to open a file in Java . DigitalOceanarrow-up-right
> สำหรับ โค้ดภาษา c
TutorialsPoint. (2024). C library - fgetc() function . TutorialsPointarrow-up-right
> สำหรับ โค้ดภาษา python
GeeksforGeeks. (2024). Python program to read character by character from a file . GeeksforGeeksarrow-up-right
Quora. (2024). How do you check for end of file in Python?. Quora. Quoraarrow-up-right
W3Schools. (2024). Python file readline() method . W3Schoolsarrow-up-right