我有一個上傳腳本,我需要檢查文件擴展名,然後根據該文件擴展名運行單獨的函數。有人知道我應該使用什麼代碼嗎?PHP檢查文件擴展名
if (FILE EXTENSION == ???)
{
FUNCTION1
}
else if
{
FUNCTION2
}
我有一個上傳腳本,我需要檢查文件擴展名,然後根據該文件擴展名運行單獨的函數。有人知道我應該使用什麼代碼嗎?PHP檢查文件擴展名
if (FILE EXTENSION == ???)
{
FUNCTION1
}
else if
{
FUNCTION2
}
pathinfo
是你在找什麼
$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") { .... }
我在我的網站上使用了這段代碼。但是,當它與'echo「$ info」'一起執行時,它總是返回值Array。爲什麼是這樣? –
@ user2910074這個問題是舊的,我會讓你看到你的代碼,以提供任何幫助。我建議你在SO –
$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) ;
}
$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));
可能重複[如何在PHP中提取文件擴展名?](http://stackoverflow.com/questions/173868/how-to-extract-a-file-extension-in-php) –