filetype

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

filetypeGets file type

Опис

filetype(string $filename): string|false

Returns the type of the given file.

Параметри

filename

Path to the file.

Значення, що повертаються

Returns the type of the file. Possible values are fifo, char, dir, block, link, file, socket and unknown.

Returns false if an error occurs. filetype() will also produce an E_NOTICE message if the stat call fails or if the file type is unknown.

Помилки/виключення

Під час збоїв буде видаватись E_WARNING.

Приклади

Приклад #1 filetype() example

<?php

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

?>

Поданий вище приклад виведе:

file
dir

Примітки

Зауваження: Рузультати цієї функції кешуються. Докладніше: clearstatcache().

Підказка

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

Прогляньте також

  • is_dir() - Tells whether the filename is a directory
  • is_file() - Tells whether the filename is a regular file
  • is_link() - Tells whether the filename is a symbolic link
  • file_exists() - Checks whether a file or directory exists
  • mime_content_type() - Detect MIME Content-type for a file
  • pathinfo() - Returns information about a file path
  • stat() - Gives information about a file

add a note

User Contributed Notes 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