ฟังก์ชัน 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 characterGLOB_BRACE- ขยาย {a,b,c} ให้ตรง a หรือ b หรือ cGLOB_ONLYDIR- คืนเฉพาะไดเรกทอรีที่ตรง patternGLOB_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