当前位置: 首页 > 工具软件 > PHP Web Stat > 使用案例 >

php中stat,PHP: stat - Manual

邰胤
2023-12-01

This is a souped up 'stat' function based on

many user-submitted code snippets and

@ http://www.askapache.com/security/chmod-stat.html

Give it a filename, and it returns an array like stat.

if(!$ss) returnfalse;//Couldnt stat file$ts=array(0140000=>'ssocket',0120000=>'llink',0100000=>'-file',0060000=>'bblock',0040000=>'ddir',0020000=>'cchar',0010000=>'pfifo');$p=$ss['mode'];$t=decoct($ss['mode'] &0170000);// File Encoding Bit$str=(array_key_exists(octdec($t),$ts))?$ts[octdec($t)]{0}:'u';$str.=(($p&0x0100)?'r':'-').(($p&0x0080)?'w':'-');$str.=(($p&0x0040)?(($p&0x0800)?'s':'x'):(($p&0x0800)?'S':'-'));$str.=(($p&0x0020)?'r':'-').(($p&0x0010)?'w':'-');$str.=(($p&0x0008)?(($p&0x0400)?'s':'x'):(($p&0x0400)?'S':'-'));$str.=(($p&0x0004)?'r':'-').(($p&0x0002)?'w':'-');$str.=(($p&0x0001)?(($p&0x0200)?'t':'x'):(($p&0x0200)?'T':'-'));$s=array('perms'=>array('umask'=>sprintf("%04o",@umask()),'human'=>$str,'octal1'=>sprintf("%o", ($ss['mode'] &000777)),'octal2'=>sprintf("0%o",0777&$p),'decimal'=>sprintf("%04o",$p),'fileperms'=>@fileperms($file),'mode1'=>$p,'mode2'=>$ss['mode']),'owner'=>array('fileowner'=>$ss['uid'],'filegroup'=>$ss['gid'],'owner'=>

(function_exists('posix_getpwuid'))?

@posix_getpwuid($ss['uid']):'','group'=>

(function_exists('posix_getgrgid'))?

@posix_getgrgid($ss['gid']):''),'file'=>array('filename'=>$file,'realpath'=>(@realpath($file) !=$file) ? @realpath($file) :'','dirname'=>@dirname($file),'basename'=>@basename($file)

),'filetype'=>array('type'=>substr($ts[octdec($t)],1),'type_octal'=>sprintf("%07o",octdec($t)),'is_file'=>@is_file($file),'is_dir'=>@is_dir($file),'is_link'=>@is_link($file),'is_readable'=> @is_readable($file),'is_writable'=> @is_writable($file)

),'device'=>array('device'=>$ss['dev'],//Device'device_number'=>$ss['rdev'],//Device number, if device.'inode'=>$ss['ino'],//File serial number'link_count'=>$ss['nlink'],//link count'link_to'=>($s['type']=='link') ? @readlink($file) :''),'size'=>array('size'=>$ss['size'],//Size of file, in bytes.'blocks'=>$ss['blocks'],//Number 512-byte blocks allocated'block_size'=>$ss['blksize']//Optimal block size for I/O.),'time'=>array('mtime'=>$ss['mtime'],//Time of last modification'atime'=>$ss['atime'],//Time of last access.'ctime'=>$ss['ctime'],//Time of last status change'accessed'=>@date('Y M D H:i:s',$ss['atime']),'modified'=>@date('Y M D H:i:s',$ss['mtime']),'created'=>@date('Y M D H:i:s',$ss['ctime'])

),

);clearstatcache();

return$s;

}?>

|=---------[ Example Output ]

Array(

[perms] => Array

(

[umask] => 0022

[human] => -rw-r--r--

[octal1] => 644

[octal2] => 0644

[decimal] => 100644

[fileperms] => 33188

[mode1] => 33188

[mode2] => 33188

)

[filetype] => Array

(

[type] => file

[type_octal] => 0100000

[is_file] => 1

[is_dir] =>

[is_link] =>

[is_readable] => 1

[is_writable] => 1

)

[owner] => Array

(

[fileowner] => 035483

[filegroup] => 23472

[owner_name] => askapache

[group_name] => grp22558

)

[file] => Array

(

[filename] => /home/askapache/askapache-stat/htdocs/ok/g.php

[realpath] =>

[dirname] => /home/askapache/askapache-stat/htdocs/ok

[basename] => g.php

)

[device] => Array

(

[device] => 25

[device_number] => 0

[inode] => 92455020

[link_count] => 1

[link_to] =>

)

[size] => Array

(

[size] => 2652

[blocks] => 8

[block_size] => 8192

)

[time] => Array

(

[mtime] => 1227685253

[atime] => 1227685138

[ctime] => 1227685253

[accessed] => 2008 Nov Tue 23:38:58

[modified] => 2008 Nov Tue 23:40:53

[created] => 2008 Nov Tue 23:40:53

)

)

 类似资料: