PHP Conference Fukuoka 2025

filetype

(PHP 4, PHP 5, PHP 7, PHP 8)

filetypeВозвращает тип файла

Описание

filetype(string $filename): string|false

Возвращает тип указанного файла.

Список параметров

filename

Путь к файлу.

Возвращаемые значения

Возвращает тип файла. Возможными значениями являются fifo, char, dir, block, link, file, socket и unknown.

Возвращает false в случае возникновения ошибки. filetype() также вызовет ошибку уровня E_NOTICE, если системный вызов stat завершится ошибкой или тип файла неизвестен.

Ошибки

При сбое функция генерирует ошибку уровня E_WARNING.

Примеры

Пример #1 Пример использования функции filetype()

<?php

echo filetype('/etc/passwd');
echo
"\n";
echo
filetype('/etc/');
?>

Результат выполнения приведённого примера:

file
dir

Примечания

Замечание: Результаты функции кешируются. Подробнее о кешировании рассказывает описание функции clearstatcache().

Подсказка

Начиная с PHP 5.0.0 функция научилась работать с отдельными URL-обёртками. Список обёрток, которые поддерживаются семейством функций stat(), приводит раздел «Протоколы и обёртки».

Смотрите также

  • is_dir() - Определяет, указывает ли путь на каталог
  • is_file() - Сообщает, ведёт ли путь к стандартному файлу
  • is_link() - Сообщает, указывает ли путь на символическую ссылку
  • file_exists() - Проверяет, содержит ли файловая система файл или каталог
  • mime_content_type() - Определяет MIME-тип содержимого файла
  • pathinfo() - Возвращает информацию о пути к файлу
  • stat() - Возвращает информацию о файле

Добавить

Примечания пользователей 3 notes

up
21
ruach at chpc dot utah dot edu
21 years ago
There are 7 values that can be returned. Here is a list of them and what each one meansblock: block special devicechar: character special devicedir: directoryfifo: FIFO (named pipe)file: regular filelink: symbolic linkunknown: unknown file type
up
7
adlerweb
14 years ago
filetype() does not work for files >=2GB on x86 Linux. You can use stat as a workarround:$type=trim(`stat -c%F $file`);Note that stat returns diffenerent strings ("regular file","directory",...)
up
-2
7r6ivyeo at mail dot com
16 years ago
I use the CLI version of PHP on Windows Vista.  Here's how to determine if a file is marked "hidden" by NTFS:<?phpfunction is_hidden_file($fn) {    $attr = trim(exec('FOR %A IN ("'.$fn.'") DO @ECHO %~aA'));    if($attr[3] === 'h')        return true;    return false;}?>Changing <?php if($attr[3] === 'h') ?> to <?php if($attr[4] === 's') ?> will check for system files.This should work on any Windows OS that provides DOS shell commands.
To Top