我正在尝试制作一个if语句来测试文件是否可以使用文本框进行编辑,例如.txt或.html,.php,.css等。这是我到目前为止所拥有的。
$ext = pathinfo($file, PATHINFO_EXTENSION);
echo $ext;
if ($ext == 'html' || $ext == 'php' || $ext == 'css' || $ext == 'js' || $ext == 'txt') {
echo 'true';
} else {
echo 'false';
}
我想让if语句更短,所以我不必列出几十个文件扩展名。有没有更短的方法来做到这一点?
答案 0 :(得分:0)
函数in_array将解决您的问题参考:http://php.net/manual/en/function.in-array.php
$ext = pathinfo($file, PATHINFO_EXTENSION);
$extArray= array("html", "php", "css", "js","txt");
if (in_array($ext, $extArray))
{
echo 'true';
}
else
{
echo 'false';
}
答案 1 :(得分:0)
检查将以text/html
,text/plain
,image/png
等方式返回的MIME类型:
$finf = finfo_open(FILEINFO_MIME_TYPE);
$type = finfo_file($finf, $file);
if(strpos($type, 'text') === 0) {
echo 'true';
} else {
echo 'false';
}
或者:
if(strpos(mime_content_type($file), 'text') === 0) {
echo 'true';
} else {
echo 'false';
}