PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPのlstat()関数とは?使い方と戻り値をわかりやすく解説

PHPのlstat()関数は、指定したファイルまたはシンボリックリンクに関する情報を取得するための関数です。stat()関数とよく似ていますが、最大の違いは、引数にシンボリックリンクを指定した場合、リンク先の実体ではなくリンク自体の状態を返すという点にあります。

この関数は、以下の要素を含む配列を返します。

  • [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] ー 割り当てられたブロック数

なお、返される配列には数値インデックスと文字列キーの両方が含まれるため、どちらの形式でも値にアクセスできます。

構文

lstat(file_path)

パラメータ

  • file_path ー 情報を取得したいファイルへのパスを指定します。

戻り値

上記の要素を含む連想配列・数値添字配列を返します。エラーが発生した場合は false を返します。

使用例

<?php
    print_r(lstat("new.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
)

まとめ

lstat()は、シンボリックリンクそのものの情報を取得したい場合に便利な関数です。通常のファイル情報を取得する場合はstat()、ファイルサイズだけが必要な場合はfilesize()など、目的に応じて使い分けるとよいでしょう。

  1. 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

  2. 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値を返し