Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

ฟังก์ชัน glob() ใน PHP


ฟังก์ชัน glob() ใช้ ค้นหาไฟล์หรือไดเรกทอรีที่ตรงกับรูปแบบ (pattern) ส่งคืนเป็นอาร์เรย์ สามารถใช้ wildcard และ flag ต่างๆ ได้

ไวยากรณ์ (Syntax)

glob(pattern, flags)

พารามิเตอร์ (Parameters)

  • pattern − รูปแบบที่ต้องการค้นหา (ใช้ wildcard *, ?, [...], {a,b,c} ได้)

  • flags − ตัวเลือกเพิ่มเติม:

    • GLOB_MARK - เพิ่ม slash (/) ท้ายไดเรกทอรี

    • GLOB_NOSORT - ไม่จัดเรียงผลลัพธ์ (ตามลำดับในไดเรกทอรี)

    • GLOB_NOCHECK - ส่งคืน pattern เดิมหากไม่เจอไฟล์

    • GLOB_NOESCAPE - ไม่ถือ backslash เป็น escape character

    • GLOB_BRACE - ขยาย {a,b,c} ให้ตรง a หรือ b หรือ c

    • GLOB_ONLYDIR - คืนเฉพาะไดเรกทอรีที่ตรง pattern

    • GLOB_ERR - หยุด عند error (ปกติจะข้าม error)

ค่าที่ส่งคืน (Return Value)

ส่งคืนอาร์เรย์ของไฟล์/ไดเรกทอรีที่ตรง pattern, อาร์เรย์ว่างหากไม่เจอ, FALSE หาก error

ตัวอย่างการใช้งาน

ตัวอย่างที่ 1: ค้นหาไฟล์ .htm ทั้งหมด

<?php
print_r(glob("*.htm"));
?>

ผลลัพธ์

Array ( [0] => one.htm [1] => two.htm [2] => three.htm )

ตัวอย่างที่ 2: วนลูปแสดงขนาดไฟล์ทั้งหมด

<?php
foreach (glob("*.*") as $myfiles) {
echo "$myfiles filesize = " . filesize($myfiles) . "\n";
}
?>

ผลลัพธ์

one.htm filesize = 56790
two.htm filesize = 432987
new.docx filesize = 184256
students.csv filesize = 4626
php.int filesize = 1287
settings.ini filesize = 3516