ไฟล์ PHP () การจัดการและฟังก์ชั่น
ไฟล์คืออะไร?
ไฟล์เป็นเพียงทรัพยากรสำหรับจัดเก็บข้อมูลบนคอมพิวเตอร์
ไฟล์มักจะใช้เพื่อจัดเก็บข้อมูลเช่น:
- การตั้งค่าคอนฟิกของโปรแกรม
- ข้อมูลพื้นฐานเช่นชื่อผู้ติดต่อเทียบกับหมายเลขโทรศัพท์
- รูปภาพ รูปภาพ ภาพถ่าย ฯลฯ
รองรับรูปแบบไฟล์ PHP
ฟังก์ชันไฟล์ PHP รองรับรูปแบบไฟล์ที่หลากหลายซึ่งรวมถึง:
- ไฟล์.txt
- ไฟล์.log
- File.custom_extension เช่น file.xyz
- ไฟล์.csv
- File.gif, file.jpg เป็นต้น
- Files มอบโซลูชันพื้นที่จัดเก็บข้อมูลที่คุ้มค่าถาวรสำหรับข้อมูลทั่วไป เมื่อเปรียบเทียบกับฐานข้อมูลที่ต้องใช้ซอฟต์แวร์และทักษะอื่นในการจัดการระบบ DBMS
- คุณต้องการเก็บข้อมูลพื้นฐานเช่นบันทึกเซิร์ฟเวอร์เพื่อเรียกค้นและวิเคราะห์ในภายหลัง
- คุณต้องการจัดเก็บการตั้งค่าโปรแกรมเช่น program.ini
ฟังก์ชั่นไฟล์ PHP()
PHP มอบวิธีที่สะดวกในการทำงานกับไฟล์ผ่านคอลเลกชันฟังก์ชันในตัวที่หลากหลาย
Operaระบบ ting เช่น Windows และ MAC OS จะไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ ลินุกซ์ or ยูนิกซ์ ระบบปฏิบัติการจะคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่
การใช้การแปลงการตั้งชื่อ เช่น ตัวอักษรตัวพิมพ์เล็กสำหรับการตั้งชื่อไฟล์เท่านั้นเป็นแนวปฏิบัติที่ดีที่ช่วยให้มั่นใจได้ถึงความเข้ากันได้ข้ามแพลตฟอร์มสูงสุด
ตอนนี้เรามาดูฟังก์ชันไฟล์ PHP ที่ใช้บ่อยที่สุดบางส่วนกัน
ฟังก์ชั่น PHP file_exists()
ฟังก์ชั่นนี้ใช้เพื่อตรวจสอบว่ามีไฟล์อยู่หรือไม่
- มันมีประโยชน์เมื่อเราต้องการทราบว่ามีไฟล์อยู่หรือไม่ก่อนที่จะประมวลผล
- คุณยังสามารถใช้ฟังก์ชันนี้เมื่อสร้างไฟล์ใหม่และคุณต้องการให้แน่ใจว่าไฟล์นั้นไม่มีอยู่บนเซิร์ฟเวอร์
ฟังก์ชัน file_exist มีรูปแบบดังต่อไปนี้
<?php file_exists($filename); ?>
ที่นี่
- “file_exists()” เป็นฟังก์ชัน PHP ที่จะคืนค่าเป็นจริงหากมีไฟล์อยู่ และคืนค่าเป็นเท็จหากไม่มีอยู่
- “$file_name” คือเส้นทางและชื่อของไฟล์ที่จะตรวจสอบ
โค้ดด้านล่างใช้ฟังก์ชัน 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 |
• อ่านไฟล์ตั้งแต่ต้น • ส่งคืนค่าเท็จหากไม่มีไฟล์อยู่ • อ่านเท่านั้น |
r+ |
• อ่านไฟล์ตั้งแต่ต้น • ส่งคืนค่าเท็จหากไม่มีไฟล์อยู่ • อ่านและเขียน |
w |
• เขียนลงไฟล์ตั้งแต่เริ่มต้น • ตัดทอนไฟล์ให้มีความยาวเป็นศูนย์ • หากไม่มีไฟล์อยู่ให้ลองสร้างมันขึ้นมา • เขียนเท่านั้น |
w+ |
• เขียนลงไฟล์ตั้งแต่เริ่มต้น ตัดทอนไฟล์ให้มีความยาวเป็นศูนย์ • หากไม่มีไฟล์อยู่ให้ลองสร้างมันขึ้นมา • อ่านและเขียน |
a |
• ผนวกเข้ากับไฟล์ในตอนท้าย • หากไม่มีไฟล์อยู่ให้ลองสร้างมันขึ้นมา • เขียนเท่านั้น |
a+ |
• php ต่อท้ายไฟล์ • หากไม่มีไฟล์อยู่ให้ลองสร้างมันขึ้นมา • อ่านและเขียน |
- “$use_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
เราจะใช้งานฟังก์ชั่นดังต่อไปนี้
- โฟเพน
- ฟไรท์
- ปิด
โค้ดด้านล่าง “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 'my_settings.txt' written successfully"; ?> |
การทดสอบรหัส
เปิด URL http://localhost/phptuts/create_my_settings.php ในเบราว์เซอร์ของคุณ
คุณจะได้รับหน้าต่อไปนี้
หมายเหตุ: หากดิสก์ของคุณเต็มหรือคุณไม่ได้รับอนุญาตให้เขียนไฟล์ คุณจะได้รับข้อความแสดงข้อผิดพลาด
สลับกลับไปที่ URL http://localhost/phptuts/file_function.php .
คุณได้ผลลัพธ์อะไรบ้าง?
ฟังก์ชั่น PHP fgets()
ฟังก์ชัน fgets ใช้สำหรับอ่านไฟล์ 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()
ฟังก์ชันคัดลอก 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 'my_settings_backup.txt'"; ?>
กำลังลบไฟล์
ฟังก์ชั่น unlink ใช้ในการลบไฟล์ รหัสด้านล่างแสดงให้เห็นถึงการใช้งาน
<?php if (!unlink('my_settings_backup.txt')) { echo "Could not delete file"; } else { echo "File 'my_settings_backup.txt' 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 มีชุดฟังก์ชันในตัวมากมายที่ทำให้การทำงานกับไฟล์ง่ายขึ้น
- ฟังก์ชันไฟล์ทั่วไป ได้แก่ fopen, fclose, file_get_contents
- ตารางด้านล่างแสดงสรุปฟังก์ชันที่ครอบคลุม
ฟังก์ชัน | Descriptไอออน |
---|---|
แฟ้มที่มีอยู่ | ใช้เพื่อตรวจสอบว่ามีไฟล์อยู่หรือไม่ |
เปิด | ใช้ในการเปิดไฟล์. ส่งคืนพอยน์เตอร์ไปยังไฟล์ที่เปิดอยู่ |
เขียน | ใช้สำหรับเขียนลงไฟล์ |
ปิด | ใช้เพื่อเปิดไฟล์ที่ปิด |
เฟทส์ | ใช้ในการอ่านไฟล์ทีละบรรทัด |
สำเนา | ใช้เพื่อคัดลอกไฟล์ที่มีอยู่ |
ยกเลิกการเชื่อมโยง | ใช้เพื่อลบไฟล์ที่มีอยู่ |
file_get_contents | ใช้เพื่อส่งคืนเนื้อหาของไฟล์ในรูปแบบสตริง |