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: Mon, 26 Nov 2007

view this page in

filetype

(PHP 4, PHP 5)

filetype — 取得文件类型

说明

string filetype ( string $filename )

返回文件的类型。可能的值有 fifo,char,dir,block,link,file 和 unknown。

如果出错则返回 FALSE。如果 stat 调用失败或者文件类型未知的话 filetype() 还会产生一个 E_NOTICE 消息。

Note: 本函数的结果会被缓存。更多信息参见 clearstatcache()

Tip

PHP 5.0.0 起本函数也可被某些 URL wrapper 使用。参考支持的协议/封装协议列表 来看哪些 wrapper 支持 stat() 系列函数的功能。

Example#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: Mon, 26 Nov 2007
 
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: Mon, 26 Nov 2007
 
 
show source | credits | sitemap | contact | advertising | mirror sites