今日の人気記事

  1. 配列を文字列に変換する - implode()
  2. 簡単なPHPスクリプトを動かしてみよう
  3. ファイルから1行ずつ読み込む - fgets()
  4. ユニークなファイル名の一時ファイルを作成 - tempnam()
  5. ヒアドキュメント

ファイル情報を配列で表示 - 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)
}

ファイル情報が「数値キー」と「連想キー」の配列で返されていることがわかりますね。

ファイル の人気記事

  1. ファイルから1行ずつ読み込む - fgets()
  2. ファイル名を変更 - ファイルを移動 - rename()
  3. 文字列にファイルを書き込む - fwrite()、fputs()
  4. 親ディレクトリのパスを表示 - dirname()
  5. ディレクトリを作成 - mkdir()
  6. ユニークなファイル名の一時ファイルを作成 - tempnam()
  7. 相対パスから絶対パスを取得 - realpath()
  8. バイナリセーフにファイルを読み込む - fread()

関連記事(一部広告含む)