PHPのstat()関数とは?使い方と戻り値の詳細を解説
PHPのstat()関数は、指定したファイルに関するさまざまな情報を取得し、配列として返す関数です。ファイルサイズやアクセス日時、更新日時など、ファイル管理に役立つ情報を簡単に取得できます。
注意: stat()関数が返す結果は、実行環境やサーバーによって異なる場合があります。
stat()関数が返す配列の要素
stat()関数は、以下の要素を含む配列を返します。各要素には数値インデックスと文字列キーの両方でアクセス可能です。
- [0] または [dev] - デバイス番号
- [1] または [ino] - iノード番号
- [2] または [mode] - iノード保護モード(パーミッション)
- [3] または [nlink] - リンク数
- [4] または [uid] - 所有者のユーザーID
- [5] または [gid] - 所有者のグループID
- [6] または [rdev] - iノードのデバイスタイプ
- [7] または [size] - ファイルサイズ(バイト単位)
- [8] または [atime] - 最終アクセス時刻(Unixタイムスタンプ)
- [9] または [mtime] - 最終更新時刻(Unixタイムスタンプ)
- [10] または [ctime] - iノードの最終変更時刻(Unixタイムスタンプ)
- [11] または [blksize] - ファイルシステムIOのブロックサイズ
- [12] または [blocks] - 割り当てられたブロック数
構文
stat(ファイルパス)
パラメータ
- file_path - 情報を取得したいファイルへのパスを指定します。
戻り値
stat()関数は、上記の要素を含む配列を返します。処理に失敗した場合はfalseを返します。
使用例①:ファイル情報の一括取得
まず、ファイル「demo.txt」のすべての統計情報を取得する基本的な例を見てみましょう。
<?php
print_r(stat("demo.txt"));
?>
出力結果
Array
(
[0] => 0
[1] => 0
[2] => 33206
[3] => 1
[4] => 0
[5] => 0
[6] => 0
[7] => 120
[8] => 17128173529
[9] => 1984185875
[10] => 1294322653
[11] => -1
[12] => -1
[dev] => 0
[ino] => 0
[mode] => 33206
[nlink] => 1
[uid] => 0
[gid] => 0
[rdev] => 0
[size] => 120
[atime] => 1718173529
[mtime] => 1984185875
[ctime] => 1294322653
[blksize] => -1
[blocks] => -1
)
使用例②:特定の情報だけを取り出す
次に、配列から必要な要素だけを取り出して表示する例を紹介します。
<?php
$stat = stat('new.txt');
echo 'File mode = ' .$stat['mode'];
echo '<br />Last Modification time of the file = ' .$stat['mtime'];
?>
出力結果
File mode = 33206
Last Modification time of the file = 1241387935
このように、stat()関数を使えば「mode」や「mtime」などのキーを指定することで、必要なファイル情報だけを効率的に取得できます。Unixタイムスタンプで返される日時は、date()関数などと組み合わせることで、人間が読める形式に変換することも可能です。
-
PHPのlog()関数とは?自然対数の計算方法と使い方を解説
定義と使い方log() 関数は、数値の自然対数(natural logarithm)を計算します。対数とは、指数関数の逆演算のことです。たとえば 102=100 という関係は「log10100=2」と表せます。自然対数はオイラー数 e を底として計算され、PHP では定義済み定数 M_E によって e の値(2.7182818284590452354)が提供されています。具体例を挙げると、exp(4.60517018599)=100(つまり e4.60517018599=100)が成り立つため、loge100=4.60517018599 となります。PHP では、この自然対数(loge)を l
-
PHPのlcg_value()関数とは?乱数生成の基本と使い方を解説
lcg_value()関数の定義と使い方lcg_value()関数は、0から1までの範囲でランダムな数値(浮動小数点数)を生成するPHP組み込み関数です。「LCG」とは「線形合同法(Linear Congruential Generator)」の略称です。この手法は、不連続な区分線形方程式を用いて擬似乱数列を計算するアルゴリズムで、擬似乱数生成アルゴリズムの中でも最も古くから知られているものの一つです。構文lcg_value ( void ) : floatパラメータこの関数は引数を受け取りません。戻り値lcg_value()関数は、0.0以上1.0以下の範囲にある擬似乱数のfloat値を返し