training-web.ruГлавнаяКатегорииО насКарта сайтаПоискТёмная тема

Категории

Как определить текстовой файл по расширению PHP

Создано: 24 января 2017Автор: Егор Астапов1532 просмотраСложность: легкий

Как определить текстовой файл по расширению. Много способов для этой задачи существует. Можно воспользоваться конструкцией switch-case или условием else-if. Для меня самый простой способ - это использование внутренней функции in_array(). Пришлось немного полазить в интернете и поискать расширения для текстовых файлов. В результате поисков собрал список расширений для текстовых файлов. Вы можете его дополнить своими расширениями. Переменная $arrExtension - это массив PHP

  • 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

$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;
// вывод: эксельный файл

Комментарии

реклама