ファイル情報を配列で表示 - stat()
当ページのリンクには広告が含まれています。
プログラミング言語PHPで、ファイル情報を配列で表示する関数 stat()を紹介します。
stat関数
array stat ( string $filename )
ファイル情報を配列で表示します。
引数 $filename 情報を表示するファイルを指定します。
返り値
指定したファイルの情報を配列で返します。
ファイル情報の配列構成
配列は「数値キー」「連想キー」から構成されています(要素の値は同じです)。
| 数値キー | 連想キー | 概要 |
|---|---|---|
| 0 | dev | デバイス番号 |
| 1 | ino | inode 番号† |
| 2 | mode | inode プロテクトモード |
| 3 | nlink | リンク数 |
| 4 | uid | 所有者のユーザー ID† |
| 5 | gid | 所有者のグループ ID† |
| 6 | rdev | inode デバイス の場合、デバイスの種類 |
| 7 | size | バイト単位のサイズ |
| 8 | atime | 最終アクセス時間 (Unix タイムスタンプ) |
| 9 | mtime | 最終修正時間 (Unix タイムスタンプ) |
| 10 | ctime | 最終 inode 変更時間 (Unix タイムスタンプ) |
| 11 | blksize | ファイル IO のブロックサイズ†† |
| 12 | blocks | 512 バイトのブロックの確保数†† |
† Windowsで実行した場合には「0」が返されます。
††ブロックサイズが取得できない場合には「-1」が返されます。
サンプルコード
定義済み定数(__FILE__)を使って、スクリプトファイルの情報を配列で表示するサンプルコードです。
stat ( ファイル名 )
<?php var_dump( stat(__FILE__) ); ?>
実行結果です。
array(26) {
[0]=>
int(16777219)
[1]=>
int(1949614)
[2]=>
int(33188)
[3]=>
int(1)
[4]=>
int(501)
[5]=>
int(20)
[6]=>
int(0)
[7]=>
int(37)
[8]=>
int(1406514262)
[9]=>
int(1406514259)
[10]=>
int(1406514260)
[11]=>
int(4096)
[12]=>
int(8)
["dev"]=>
int(16777219)
["ino"]=>
int(1949614)
["mode"]=>
int(33188)
["nlink"]=>
int(1)
["uid"]=>
int(501)
["gid"]=>
int(20)
["rdev"]=>
int(0)
["size"]=>
int(37)
["atime"]=>
int(1406514262)
["mtime"]=>
int(1406514259)
["ctime"]=>
int(1406514260)
["blksize"]=>
int(4096)
["blocks"]=>
int(8)
}
ファイル情報が「数値キー」と「連想キー」の配列で返されていることがわかりますね。