ประโยชน์ของการหานามสกุลของไฟล์ก็เพื่อใช้ตรวจสอบว่าไฟล์นั้นๆ เราอนุญาติให้อัปโหลด/ใช้งานใน PHP โปรแกรมของเราหรือไม่

การหานามสกุลไฟล์มีอยู่หลายวิธี

1. ใช้ pathinfo

$file_name = 'my_picture_01.jpg' ;
$info = pathinfo( $file_name , PATHINFO_EXTENSION ) ;
echo $info ;

pathinfo ถ้าไม่ระบุพารามิเตอร์ตัวที่สอง มันจะคืนค่ากลับมาเป็น array ที่เก็บส่วนย่อยต่างๆของไฟล์ไว้ทั้งหมด

2.

$file_name = 'my_picture_01.jpg' ;
$info = end( explode( '.' , $file_name ) ) ;
echo $info ;

ใช้คำสั่ง explode() ระเบิดชื่อไฟล์ให้ออกมาเป็น array โดยใช้ .(dot) เป็นตัวแบ่ง จากนั้นจึงใช้คำสั่ง end() หยิบเอา array ตัวสุดท้ายออกมา

3.

$file_name = 'my_picture_01.jpg' ;
$info = substr( $file_name , strpos( $file_name , '.' )+1 ) ;
echo $info ;

ใช้คำสั่ง substr() ตัดตัวอักษรตั้งแต่หลัง .(dot) ออกมา แต่ก่อนอื่นก็ต้องหาตำแหน่งของ .(dot) มาก่อนด้วยคำสั่ง strpos()

4.

$file_name = 'my_picture_01.jpg' ;
$info = preg_match( '/\.([^\.]+)$/' , $file_name , $info ) ;
echo $info[1] ;

ใช้ regular expression เป็นตัวค้นหานามสกุลของไฟล์

รักชอบแบบไหนก็เลือกใช้ตามสะดวกครับ