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, 10 Oct 2008

view this page in

filetype

(PHP 4, PHP 5)

filetypeGets file type

Description

string filetype ( string $filename )

Returns the type of the given file.

Parameters

filename

Path to the file.

Return Values

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.

Examples

Example #1 filetype() example

<?php

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

?>

Notes

Note: The results of this function are cached. See clearstatcache() for more details.

Tip

As of PHP 5.0.0, this function can also be used with some URL wrappers. Refer to List of Supported Protocols/Wrappers for a listing of which wrappers support stat() family of functionality.



flock> <filesize
Last updated: Fri, 10 Oct 2008
 
add a note add a note User Contributed Notes
filetype
varun dot m dot ajani at gmail dot com
06-Apr-2008 08:42
While using a statement to check if a file is a jpeg image, one may use something like:

if($image['type']=='image/jpeg'){
   etc.code
}

This works fine in firefox but IE6 makes a distinction between jpeg and pjpeg(progressive jpeg).

To make sure the statement evaluates correctly in firefox and IE6 both, use:

if(($image['type']==('image/jpeg')||('image/pjpeg')){
   etc.code
}
st dot brinkmann at googlemail dot com
03-Apr-2008 03: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
26-Feb-2008 11: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
14-Jan-2008 12: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
11-Mar-2004 09: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, 10 Oct 2008
 
 
show source | credits | sitemap | contact | advertising | mirror sites