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) ; }