PHP
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

flock> <filesize
Last updated: Fri, 16 May 2008

view this page in

filetype

(PHP 4, PHP 5)

filetype — Получить тип файла

Описание

string filetype ( string $filename )

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

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

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

Подсказка

Начиная с PHP 5.0.0, эта функция также может быть использована с некоторыми упаковщиками url. Список упаковщиков, поддерживаемых семейством функций stat(), смотрите в List of Supported Protocols/Wrappers.

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

<?php

echo filetype('/etc/passwd');  // file
echo filetype('/etc/');        // dir

?>

См. также описание функций is_dir(), is_file(), is_link(), file_exists(), stat() и mime_content_type().



flock> <filesize
Last updated: Fri, 16 May 2008
 
add a note add a note User Contributed Notes
filetype
st dot brinkmann at googlemail dot com
03-Apr-2008 12:33
It should be a bit more savely to remove slashes first:

$ext = array_pop(split('.', str_replace(array("\\", "/"), array("", ""), $filename)));
rich dot fleming at NOSPAM dot gmail dot com
25-Feb-2008 07:08
In response to zachary.s.scott[at]gmail[dot]com.

A simplified method would be to pop the last element off the array as that one will be your extension.

<?php
    $file
= "/some/path/to/your.file_stored_here.txt";
   
$extension = array_pop(explode(".", $file));
?>

$extension = 'txt'

you could further use this with basename to strip off the extension completely off the file...

<?php
    $file
= "/some/path/to/your.file_stored_here.txt";
   
$extension = array_pop(explode(".", $file));
   
$filename = basename($file, ".$extension");
?>

$extension = 'txt'
$filename = 'your.file_stored_here'
zachary.s.scott[at]gmail[dot]com
13-Jan-2008 08:15
I find that if you're trying to get the extension of a file, this method isn't the what you want. I've written a function instead:

<?php
function fileExtension($file) {
   
$fileExp = explode('.', $file); // make array off the periods
   
$filetype = $fileExp[count($fileExp) -1]; // file extension will be last index in array, -1 for 0-based indexes
}
?>
ruach at chpc dot utah dot edu
10-Mar-2004 05:11
There are 7 values that can be returned. Here is a list of them and what each one means

block: block special device

char: character special device

dir: directory

fifo: FIFO (named pipe)

file: regular file

link: symbolic link

unknown: unknown file type

flock> <filesize
Last updated: Fri, 16 May 2008
 
 
show source | credits | stats | sitemap | contact | advertising | mirror sites