PHP File

|
| บทเรียนนี้จะอธิบายคร่าวๆ เกี่ยวกับการใช้ฟังก์ชั่นหลักๆ ของไฟล์เท่านั้น |
|
การเปิดไฟล์
ในการอ่านข้อมูลจากไฟล์ หรือบันทึกข้อมูลลงไฟล์ ต้องเริ่มจากการเปิดไฟล์ขึ้นมาก่อน โดยใช้ฟังก์ชั่น fopen()
ฟังก์ชั่นนี้บรรจุพารามิเตอร์ 2 ตัว ตัวแรก คือ ชื่อไฟล์ ส่วนตัวที่สอง คือ โหมดที่ใช้ในการเปิดไฟล์ |
<html>
<body> <?php
$f=fopen("welcome.txt","r");
?></body>
</html> |
|
ไฟล์สามารถเปิดได้หลายโหมด ดังนี้
| File Mode |
Description |
| r |
อ่านได้อย่างเดียว ตัวชี้จะอยู่ที่ตำแหน่งเริ่มต้นของไฟล์ |
| r+ |
อ่านและเขียนไฟล์ ตัวชี้จะอยู่ที่ตำแหน่งเริ่มต้นของไฟล์ |
| w |
เขียนได้อย่างเดียว ตัวชี้จะอยู่ที่ตำแหน่งเริ่มต้นของไฟล์ ถ้าไฟล์มีอยู่แล้วจะตัดข้อมูลเดิมทั้งทั้งหมด แต่ถ้าไม่มีไฟล์นี้อยู่จะสร้างไฟล์ขึ้นมาใหม่ |
| w+ |
อ่านและเขียนไฟล์ ตัวชี้จะอยู่ที่ตำแหน่งเริ่มต้นของไฟล์ ถ้าไฟล์มีอยู่แล้วจะตัดข้อมูลเดิมทั้งทั้งหมด แต่ถ้าไม่มีไฟล์นี้อยู่จะสร้างไฟล์ขึ้นมาใหม่ |
| a |
เขียนได้อย่างเดียว ตัวชี้จะอยู่ที่ตำแหน่งสิ้นสุดของไฟล์ ถ้าไม่มีไฟล์นี้อยู่จะสร้างไฟล์ขึ้นมาใหม่ |
| a+ |
อ่านและเขียนไฟล์ ตัวชี้จะอยู่ที่ตำแหน่งสิ้นสุดของไฟล์ ถ้าไม่มีไฟล์นี้อยู่จะสร้างไฟล์ขึ้นมาใหม่ |
| x |
สร้างและเปิดไฟล์ขึ้นมาเพื่อเขียน ตัวชี้จะอยู่ที่ตำแหน่งเริ่มต้นของไฟล์ ถ้าไฟล์มีอยู่แล้วจะเกิด error แต่ถ้าไม่มีไฟล์นี้อยู่จะสร้างไฟล์ขึ้นมาใหม่ |
| x+ |
สร้างและเปิดไฟล์ขึ้นมาเพื่ออ่านกับเขียน ตัวชี้จะอยู่ที่ตำแหน่งเริ่มต้นของไฟล์ ถ้าไฟล์มีอยู่แล้วจะเกิด error แต่ถ้าไม่มีไฟล์นี้อยู่จะสร้างไฟล์ขึ้นมาใหม่ |
|
| ถ้าฟังก์ชั่น fopen() ไม่สามารถเปิดไฟล์ที่ต้องการขึ้นมากได้ มันจะให้ค่ากลับมาเป็น 0 หรือ false ดูตัวอย่างเพื่อป้องกันการเกิดข้อผิดพลาด |
<html>
<body> <?php
$f=fopen("welcome.txt","r") or exit("ไม่สามารถเปิดไฟล์ได้ !"); ?></body>
</html> |
|
|
| การปิดไฟล์
|
การปิดไฟล์จะใช้ฟังก์ชั้น fclose() จะมีพารามิเตอร์เดียว คือ ชื่อไฟล์
|
|
| การอ่านไฟล์
|
หลังจากเปิดไฟล์ขึ้นมาแล้ว เรามักจะใช้ฟังก์ชั่น feof() เพื่อตรวจสอบข้อมูลในไฟล์ที่จะอ่านว่าหมดแล้วหรือยัง
ฟังก์ชั่นนี้ไม่สามารถใช้ได้กับโหมด w, a และ x
if (feof($f))
echo "สิ้นสุดไฟล์แล้ว"; |
|
| การอ่านไฟล์ทีละตัวอักษร
|
ฟังก์ชั่น fgetc() จะใช้อ่านทีละตัวอักษรจากไฟล์ หลังจากเรียกใช้ฟังก์ชั่นนี้ ตัวชี้จะเลื่อนตัวอักษรไปตัวถัดไป มาดูตัวอย่างกัน
<?php
$f=fopen("welcome.txt","r") or exit("ไม่สามารถเปิดไฟล์ได้ !");
while (!feof($f))
{
$x=fgetc($f);
echo $x;
}
fclose($f);
?> |
|
|
 |