PHP检查文件扩展名

我有一个上传脚本,我需要检查文件扩展名,然后根据该文件扩展名运行单独的function。 有人知道我应该使用什么代码吗?

if (FILE EXTENSION == ???) { FUNCTION1 } else if { FUNCTION2 } 

pathinfo是你在找什么

PHP.net

 $file_parts = pathinfo($filename); switch($file_parts['extension']) { case "jpg": break; case "exe": break; case "": // Handle file extension for files ending in '.' case NULL: // Handle no file extension break; } 
 $info = pathinfo($pathtofile); if ($info["extension"] == "jpg") { .... } 
 $file_parts = pathinfo($filename); $file_parts['extension']; $cool_extensions = Array('jpg','png'); if (in_array($file_parts['extension'], $cool_extensions)){ FUNCTION1 } else { FUNCTION2 } 

对于PHP 5.3+您可以使用SplFileInfo()

 $spl = new SplFileInfo($filename); print_r($spl->getExtension()); //gives extension 

另外,由于您正在检查file upload的扩展名,我强烈build议使用MIMEtypes。

对于PHP 5.3+使用finfo

 $finfo = new finfo(FILEINFO_MIME); print_r($finfo->buffer(file_get_contents($file name)); 
  $original_str="this . is . to . find"; echo "<br/> Position: ". $pos=strrpos($original_str, "."); $len=strlen($original_str); if($pos >= 0) { echo "<br/> Extension: ". substr($original_str,$pos+1,$len-$pos) ; }