我现在正在我的代码中执行此操作,以查看文件名是否具有扩展名.txt
,但我认为它基本上会检查是否包含 .txt
和不一定以 .txt
结尾。 php有更好的方法来进行扩展检查,而不是使用strpos
吗?
strpos($filename,'.txt') !== false
答案 0 :(得分:3)
您可以使用pathinfo()
功能获取文件的扩展名:
$info = pathinfo($pathToFile);
$ext = $info['extension'];
然后检查扩展名是否是允许的扩展名之一:
$validExtensions = array("txt", "doc");
if (in_array($ext, $validExtensions) {
//more code
}
答案 1 :(得分:2)
使用以下代码,它无法改善:
$ext = pathinfo('test.txt', PATHINFO_EXTENSION);
答案 2 :(得分:1)
$ext = pathinfo($filename, PATHINFO_EXTENSION);
答案 3 :(得分:0)
strpos是好的,你必须记住,你不需要先,但最后一点
并使用strrpos()
,注意双“r”。
答案 4 :(得分:-1)
您可以通过添加到阵列来允许多个扩展。
$allowed = array('txt');
if (in_array(pathinfo($filename, PATHINFO_EXTENSION), $allowed)){
// Has the correct file extension
}
或只允许txt扩展的更简单版本可能是:
if (pathinfo($filename, PATHINFO_EXTENSION) == 'txt'){
// Has the correct file extension
}