ไฟล์ PHP () การจัดการและฟังก์ชั่น
⚡ สรุปอย่างชาญฉลาด
การประมวลผลไฟล์ใน PHP ใช้ฟังก์ชันในตัวมากมายเพื่อสร้าง อ่าน เขียน คัดลอก และลบไฟล์บนเซิร์ฟเวอร์ คู่มือนี้จะครอบคลุมฟังก์ชัน file_exists, fopen และโหมดต่างๆ, fwrite, fclose, fgets, copy, unlink และ file_get_contents พร้อมตัวอย่างการใช้งานจริง

ไฟล์คืออะไร?
ไฟล์เป็นเพียงทรัพยากรสำหรับจัดเก็บข้อมูลบนคอมพิวเตอร์
ไฟล์มักจะใช้เพื่อจัดเก็บข้อมูลเช่น:
- การตั้งค่าคอนฟิกของโปรแกรม
- ข้อมูลพื้นฐาน เช่น ชื่อผู้ติดต่อเทียบกับหมายเลขโทรศัพท์
- รูปภาพ ภาพถ่าย และสื่ออื่นๆ ที่คล้ายคลึงกัน
รองรับรูปแบบไฟล์ PHP
ฟังก์ชันไฟล์ PHP รองรับรูปแบบไฟล์ที่หลากหลายซึ่งรวมถึง:
- ไฟล์.txt
- ไฟล์.log
- นามสกุลไฟล์ที่กำหนดเอง เช่น file.xyz
- ไฟล์.csv
- ไฟล์ .gif, ไฟล์ .jpg และรูปแบบภาพที่คล้ายกัน
ไฟล์มีประโยชน์ในหลายสถานการณ์:
- ระบบเหล่านี้มอบโซลูชันการจัดเก็บข้อมูลถาวรและคุ้มค่าสำหรับข้อมูลที่ไม่ซับซ้อน เมื่อเทียบกับฐานข้อมูลที่ต้องใช้ซอฟต์แวร์และทักษะอื่นๆ ในการจัดการระบบ DBMS
- คุณต้องการจัดเก็บข้อมูลพื้นฐาน เช่น บันทึกการทำงานของเซิร์ฟเวอร์ เพื่อเรียกใช้และวิเคราะห์ในภายหลัง
- คุณต้องการบันทึกการตั้งค่าโปรแกรม เช่น ไฟล์ program.ini
ฟังก์ชันไฟล์ PHP
PHP มีฟังก์ชันในตัวมากมายที่ช่วยให้การทำงานกับไฟล์สะดวกยิ่งขึ้น
Operaระบบ ting เช่น Windows และ macOS ไม่คำนึงถึงตัวพิมพ์ใหญ่เล็ก ในขณะที่ ลินุกซ์ or ยูนิกซ์ ระบบปฏิบัติการจะคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่
การใช้หลักเกณฑ์การตั้งชื่อไฟล์ เช่น การใช้ตัวพิมพ์เล็กเท่านั้น เป็นวิธีปฏิบัติที่ดีที่ช่วยให้ไฟล์สามารถใช้งานร่วมกันได้บนแพลตฟอร์มต่างๆ อย่างสูงสุด
ต่อไปนี้เราจะมาดูฟังก์ชันไฟล์ PHP ที่ใช้กันบ่อยที่สุดกัน
ฟังก์ชั่น PHP file_exists()
ฟังก์ชั่นนี้ใช้เพื่อตรวจสอบว่ามีไฟล์อยู่หรือไม่
- ฟังก์ชันนี้มีประโยชน์เมื่อเราต้องการทราบว่าไฟล์มีอยู่จริงหรือไม่ก่อนที่จะประมวลผลไฟล์นั้น
- คุณยังสามารถใช้ฟังก์ชันนี้เมื่อสร้างไฟล์ใหม่และคุณต้องการให้แน่ใจว่าไฟล์นั้นไม่มีอยู่บนเซิร์ฟเวอร์
ฟังก์ชัน file_exists มีไวยากรณ์ดังต่อไปนี้
<?php file_exists($filename); ?>
ที่นี่
- “file_exists()” เป็นฟังก์ชัน PHP ที่จะคืนค่าเป็นจริงหากมีไฟล์อยู่ และคืนค่าเป็นเท็จหากไม่มีอยู่
- “$filename” คือพาthและชื่อของไฟล์ที่จะตรวจสอบ
โค้ดด้านล่างใช้ฟังก์ชัน file_exists เพื่อตรวจสอบว่าไฟล์ my_settings.txt มีอยู่หรือไม่
<?php if (file_exists('my_settings.txt')) { echo 'file found!'; } else { echo 'my_settings.txt does not exist'; } ?>
บันทึกโค้ดด้านบนลงในไฟล์ชื่อ file_function.php สมมติว่าคุณบันทึกไฟล์ไว้ในโฟลเดอร์ phptuts ใน htdocs แล้ว ให้เปิดไฟล์นั้นขึ้นมา URL http://localhost/phptuts/file_function.php ในเบราว์เซอร์ของคุณ คุณจะได้รับผลลัพธ์ดังต่อไปนี้
ฟังก์ชั่น PHP fopen()
ฟังก์ชัน fopen ใช้สำหรับเปิดไฟล์ โดยมีไวยากรณ์ดังต่อไปนี้
<?php fopen($file_name,$mode,$use_include_path,$context); ?>
ที่นี่
- “fopen” เป็นฟังก์ชันเปิดไฟล์ PHP
- “$file_name” คือชื่อของไฟล์ที่จะเปิด
- “$mode” คือโหมดที่ควรใช้ในการเปิดไฟล์ ตารางด้านล่างแสดงโหมดต่างๆ
| โหมด | Descriptไอออน |
|---|---|
| r | • อ่านไฟล์ตั้งแต่ต้น • ส่งคืนค่า false หากไฟล์ไม่มีอยู่จริง • อ่านเท่านั้น |
| r+ | • อ่านไฟล์ตั้งแต่ต้น • ส่งคืนค่า false หากไฟล์ไม่มีอยู่จริง • อ่านและเขียน |
| w | • เขียนลงไฟล์ตั้งแต่เริ่มต้น • ตัดไฟล์ให้เหลือความยาวศูนย์ • หากไฟล์ไม่มีอยู่ ให้ลองสร้างไฟล์ขึ้นมา • เขียนเท่านั้น |
| w+ | • เขียนลงไฟล์ตั้งแต่เริ่มต้น ตัดทอนไฟล์ให้มีความยาวเป็นศูนย์ • หากไฟล์ไม่มีอยู่ ให้ลองสร้างไฟล์ขึ้นมา • อ่านและเขียน |
| a | • ผนวกเข้ากับไฟล์ในตอนท้าย • หากไฟล์ไม่มีอยู่ ให้ลองสร้างไฟล์ขึ้นมา • เขียนเท่านั้น |
| a+ | • ผนวกเข้ากับไฟล์ในตอนท้าย • หากไฟล์ไม่มีอยู่ ให้ลองสร้างไฟล์ขึ้นมา • อ่านและเขียน |
- “$use_include_path” เป็นตัวเลือกเสริม ค่าเริ่มต้นคือ false หากตั้งค่าเป็น true ฟังก์ชันจะค้นหาใน include path ด้วย
- “$context” เป็นตัวเลือกเสริม และสามารถใช้เพื่อระบุการรองรับบริบทได้
ฟังก์ชั่น PHP fwrite()
ฟังก์ชัน fwrite ใช้สำหรับเขียนข้อมูลลงไฟล์
มีรูปแบบประโยคดังนี้
<?php fwrite($handle, $string, $length); ?>
ที่นี่
- “fwrite” เป็นฟังก์ชัน PHP สำหรับการเขียนลงไฟล์
- “$handle” เป็นทรัพยากรตัวชี้ไฟล์
- “$string” คือข้อมูลที่จะเขียนลงในไฟล์
- “$length” เป็นตัวเลือกเสริม และสามารถใช้เพื่อระบุความยาวไฟล์สูงสุดได้
ฟังก์ชั่น PHP fclose()
ฟังก์ชัน fclose() ใช้สำหรับปิดไฟล์ที่เปิดอยู่แล้วใน PHP
มีรูปแบบประโยคดังนี้
<?php fclose($handle); ?>
ที่นี่
- “fclose” คือ ฟังก์ชั่น PHP สำหรับการปิดไฟล์ที่เปิดอยู่
- “$handle” เป็นทรัพยากรตัวชี้ไฟล์
ต่อไปนี้เราจะมาดูตัวอย่างการสร้างไฟล์ my_settings.txt โดยใช้ฟังก์ชัน fopen, fwrite และ fclose
โค้ดด้านล่าง “create_my_settings_file.php” ใช้ตัวอย่างข้างต้น
| เปิดไฟล์ |
<?php $fh = fopen("my_settings.txt", 'w') or die("Failed to create file"); ?> |
| การปิดไฟล์ |
<?php fclose($fh); ?> |
| สร้างไฟล์ |
<?php $fh = fopen("my_settings.txt", 'w') or die("Failed to create file"); $text = <<<_END localhost;root;pwd1234;my_database _END; fwrite($fh, $text) or die("Could not write to file"); fclose($fh); echo "File 1 written successfully"; ?> |
การทดสอบรหัส
เปิด URL http://localhost/phptuts/create_my_settings.php ในเบราว์เซอร์ของคุณ
คุณจะได้รับหน้าต่อไปนี้
หมายเหตุ: หากดิสก์ของคุณเต็มหรือคุณไม่ได้รับอนุญาตให้เขียนไฟล์ คุณจะได้รับข้อความแสดงข้อผิดพลาด
สลับกลับไปที่ URL http://localhost/phptuts/file_function.phpคุณได้ผลลัพธ์อะไรบ้าง?
ฟังก์ชั่น PHP fgets()
ฟังก์ชัน fgets ใช้สำหรับอ่านไฟล์ PHP ทีละบรรทัด โดยมีไวยากรณ์พื้นฐานดังต่อไปนี้
<?php fgets($handle); ?>
ที่นี่
- "fgets" คือฟังก์ชัน PHP สำหรับอ่านบรรทัดในไฟล์
- “$handle” เป็นทรัพยากรตัวชี้ไฟล์
ต่อไปนี้เราจะมาดูตัวอย่างการอ่านไฟล์ my_settings.txt โดยใช้ฟังก์ชัน fopen และ fgets กัน
รหัสด้านล่าง read_my_settings.php ใช้ตัวอย่างข้างต้น
<?php $fh = fopen("my_settings.txt", 'r') or die("File does not exist or you lack permission to open it"); $line = fgets($fh); echo $line; fclose($fh); ?>
ที่นี่
- ฟังก์ชัน “fopen” ส่งคืนตัวชี้ไปยังไฟล์ที่ระบุในเส้นทางของไฟล์
- ฟังก์ชัน “die()” จะถูกเรียกใช้หากเกิดข้อผิดพลาด โดยจะแสดงข้อความแจ้งเตือนและหยุดการทำงานของสคริปต์
ฟังก์ชันคัดลอก PHP()
ฟังก์ชัน `copy` ของ PHP ใช้สำหรับคัดลอกไฟล์ โดยมีไวยากรณ์พื้นฐานดังต่อไปนี้
<?php copy($file,$copied_file); ?>
ที่นี่
- “$file” ระบุเส้นทางของไฟล์และชื่อของไฟล์ที่จะคัดลอก
- “$copied_file” ระบุเส้นทางและชื่อของไฟล์ที่จะคัดลอก
รหัสด้านล่างแสดงให้เห็นถึงการใช้งาน
<?php copy('my_settings.txt', 'my_settings_backup.txt') or die("Could not copy file"); echo "File successfully copied to 2"; ?>
กำลังลบไฟล์
ฟังก์ชัน `unlink` ใช้สำหรับลบไฟล์ โค้ดด้านล่างแสดงตัวอย่างการใช้งาน
<?php if (!unlink('my_settings_backup.txt')) { echo "Could not delete file"; } else { echo "File 1 successfully deleted"; } ?>
ฟังก์ชั่น PHP file_get_contents()
ฟังก์ชัน file_get_contents ใช้เพื่ออ่านเนื้อหาไฟล์ทั้งหมด
ความแตกต่างระหว่าง file_get_contents และ fgets คือ file_get_contents จะส่งคืนข้อมูลไฟล์ในรูปแบบสตริง ในขณะที่ fgets จะอ่านไฟล์ทีละบรรทัด
รหัสด้านล่างแสดงให้เห็นถึงการใช้งาน
<?php echo "<pre>"; // Enables display of line feeds echo file_get_contents("my_settings.txt"); echo "</pre>"; // Terminates pre tag ?>
คู่มืออ้างอิงฉบับย่อเกี่ยวกับฟังก์ชันไฟล์ PHP
ตารางด้านล่างนี้สรุปฟังก์ชันไฟล์ที่กล่าวถึงในบทช่วยสอนนี้
| ฟังก์ชัน | Descriptไอออน |
|---|---|
| แฟ้มที่มีอยู่ | ใช้เพื่อตรวจสอบว่ามีไฟล์อยู่หรือไม่ |
| เปิด | ใช้ในการเปิดไฟล์. ส่งคืนพอยน์เตอร์ไปยังไฟล์ที่เปิดอยู่ |
| เขียน | ใช้สำหรับเขียนลงไฟล์ |
| ปิด | ใช้สำหรับปิดไฟล์ที่เปิดอยู่ |
| เฟทส์ | ใช้ในการอ่านไฟล์ทีละบรรทัด |
| สำเนา | ใช้เพื่อคัดลอกไฟล์ที่มีอยู่ |
| ยกเลิกการเชื่อมโยง | ใช้เพื่อลบไฟล์ที่มีอยู่ |
| file_get_contents | ใช้เพื่อส่งคืนเนื้อหาของไฟล์ในรูปแบบสตริง |


