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
(PHP 4, PHP 5, PHP 7, PHP 8)
filetype — Lê o tipo do arquivo
filename
Caminho até o arquivo.
Retorna o tipo do arquivo. Os valores possíveis são fifo, char, dir, block, link, file, socket e unknown (desconhecido).
Retorna false
se ocorrer algum erro. filetype() também
produzirá uma mensagem E_NOTICE
se a chamada stat
falhar ou se o tipo do arquivo for desconhecido.
Em caso de falha, um E_WARNING
será emitido.
Exemplo #1 Exemplo de filetype()
<?php
echo filetype('/etc/passwd');
echo "\n";
echo filetype('/etc/');
?>
O exemplo acima produzirá:
file dir
Nota: Os resultados desta função são armazenados em cache. Consulte a função clearstatcache() para mais detalhes.
A partir do PHP 5.0.0, esta função também pode ser usada com alguns empacotadores de URL. Consulte os Protocolos e empacotadores suportados para determinar quais empacotadores suportam a família de funções stat().
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
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",...)
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.