array stat ( string $filename )
Gives information about a file
Gathers the statistics of the file named by filename. If filename is a symbolic link, statistics are from the file itself, not the symlink.
Regarding the stat() on files larger than 2GB on 32 bit systems not working, note that the behavior appears to differ between Linux and Windows. Under Windows there's so way to know whether or not this failed.
It's been my experience that under Linux, performing a stat() on files that are too large for the integer size generates a warning and returns false. However under Windows it silently truncates the high order bits of the size resulting in an incorrect number. The only way you'd ever know it failed is in the event that the truncation happened to leave the sign bit on resulting in a negative size. That is, there is _no_ reliable way to know it failed.
This is true of filesize() as well.
0 dev device number 1 ino inode number * 2 mode inode protection mode 3 nlink number of links 4 uid userid of owner * 5 gid groupid of owner * 6 rdev device type, if inode device 7 size size in bytes 8 atime time of last access (Unix timestamp) 9 mtime time of last modification (Unix timestamp) 10 ctime time of last inode change (Unix timestamp) 11 blksize blocksize of filesystem IO ** 12 blocks number of 512-byte blocks allocated **
Crimsonwood Keep PQ Guide