У меня есть сценарий загрузки, который мне нужно проверить расширение файла, а затем запустить отдельные функции на основе этого расширения файла. Кто-нибудь знает, какой код я должен использовать?
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
Кроме того, поскольку вы проверяете расширение для загрузки файлов, я настоятельно рекомендую использовать тип mime.
Для 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) ; }