Как определить текстовой файл по расширению. Много способов для этой задачи существует. Можно воспользоваться конструкцией switch-case или условием else-if. Для меня самый простой способ - это использование внутренней функции in_array(). Пришлось немного полазить в интернете и поискать расширения для текстовых файлов. В результате поисков собрал список расширений для текстовых файлов. Вы можете его дополнить своими расширениями. Переменная $arrExtension - это массив PHP
$file = 'report.xls';
//$file = 'report.jpeg';
// определяем расширение файла
$fileExtension = pathinfo($file, PATHINFO_EXTENSION);
$arrExtension = ['xls', 'xlsx', 'xlsm', 'csv',
'txt', 'tex', 'texi', 'doc', 'docx', 'docm', 'wps', 'htm',
'odt', 'ods', 'sxw', 'rtf', 'pdf', 'djv', 'djvu', 'chm', 'xml'];
if(in_array($fileExtension, $arrExtension) == FALSE)
{
echo "Простите, это не текстовой файл, расширение ".$fileExtension;
}
else
{
echo "Это текстовой файл, расширение ".$fileExtension;
}
Допустим вы знаете как выглядит расширение, но не понимаете что оно означает? Для этих целей я написал короткий скрипт. Он по ключу (расширению) вернёт небольшое описание расширения текстового файла.
$imageExtension = 'xls';
$typeArr = ['xls' => 'эксельный файл',
'xlsx' => 'эксельный файл',
'xlsm' => 'эксельный файл',
'csv' => 'табличный документ',
'txt' => 'текстовой документ',
'tex' => 'документ LaTeX',
'texi' => 'документ Texinfo',
'doc' => 'вордовский документ',
'docx' => 'вордовский документ',
'docm' => 'вордовский документ',
'wps' => 'документ Microsoft Works',
'htm' => 'Web Files',
'html' => 'Web Files',
'odt' => 'текстовый документ OpenDocument Format',
'ods' => 'электронная таблица OpenOffice, StarOffice',
'sxw' => 'текстовый документ StarOffice Writer',
'rtf' => 'расширенный текстовый документ Rich Text Format',
'pdf' => 'документ Adobe Acrobat Portable Document Format (PDF)',
'djv' => 'пакет изображений DjVu',
'djvu' => 'пакет изображений DjVu',
'chm' => 'компилированный файл справки Microsoft',
'xml' => 'структурированные данные XML',];
$descExtension = $typeArr[$imageExtension];
echo $descExtension;
// вывод: эксельный файл