PHPのrealpath_cache_get()関数とは?使い方と戻り値を徹底解説
realpath_cache_get()関数とは
PHPのrealpath_cache_get()関数は、realpathキャッシュに保存されているすべてのエントリを取得するための関数です。PHPはファイルシステムのパス解決を高速化するために、一度解決した絶対パス(realpath)を内部キャッシュに保持しています。この関数を使うことで、そのキャッシュの中身を配列として確認できます。
戻り値は、realpathキャッシュの各エントリを含む連想配列です。デバッグやキャッシュの動作確認などに役立ちます。
構文
realpath_cache_get()
パラメータ
この関数にはパラメータはありません。
戻り値
realpathキャッシュのエントリを含む連想配列を返します。各エントリには主に以下の情報が含まれています。
- key … パスから生成されたハッシュ値
- is_dir … ディレクトリかどうか(1ならディレクトリ)
- realpath … 解決された実際の絶対パス
- expires … キャッシュの有効期限(Unixタイムスタンプ)
使用例
次のコードは、現在キャッシュされているすべてのエントリを出力する例です。
<?php
print_r(realpath_cache_get());
?>
出力結果
Array
(
[/home] => Array
(
[key] => 4353355791257440477
[is_dir] => 1
[realpath] => /home
[expires] => 1538630044
)
[/home/cg/root] => Array
(
[key] => 1131813419205508649
[is_dir] => 1
[realpath] => /home/cg/root
[expires] => 1538630044
)
[/home/cg/root/8944881/main.php] => Array
(
[key] => 584844883037958768
[is_dir] =>
[realpath] => /home/cg/root/8944881/main.php
[expires] => 1538630044
)
[/home/cg] => Array
(
[key] => 9037225891674879750
[is_dir] => 1
[realpath] => /home/cg
[expires] => 1538630044
)
[/home/cg/root/8944881] => Array
(
[key] => 722006552431300374
[is_dir] => 1
[realpath] => /home/cg/root/8944881
[expires] => 1538630044
)
)
ポイントと注意点
- 出力される内容は環境やアクセス済みのパスによって異なります。スクリプトが参照したファイルやディレクトリのみがキャッシュされます。
- キャッシュの有効期限(expires)は、php.ini の realpath_cache_ttl ディレクティブで制御できます。
- キャッシュの合計サイズを知りたい場合は realpath_cache_size() 関数を使用します。
- キャッシュをクリアしたい場合は clearstatcache() 関数が利用できます。
-
PHPのarray_reverse()関数の使い方を解説!配列を逆順にする方法
PHPのarray_reverse()関数は、配列の要素を逆順に並べ替えた新しい配列を返す関数です。元の配列は変更されず、要素の順序が反転した結果のみを受け取ることができます。構文array_reverse(arr, preservekey)パラメータarr − 逆順にしたい対象の配列を指定します。preservekey − 配列のキーを保持するかどうかを指定します。TRUEまたはFALSEの値を取ります。省略した場合(デフォルトはFALSE)は、キーが振り直され数値キー(0、1、2…)になります。TRUEを指定すると、元のキーと値の対応関係がそのまま維持されます。戻り値array_rever
-
PHPのarray()関数とは?配列の作成方法をわかりやすく解説
PHPのarray()関数は、配列を作成するための関数です。PHPにおける配列には、主に以下の3種類が存在します。インデックス配列 − 数値インデックス(0から始まる番号)で要素を管理する配列連想配列 − 文字列などの名前付きキーで要素を管理する配列多次元配列 − 配列の中に1つ以上の配列を含む、入れ子構造の配列構文// 数値インデックスを持つ配列(インデックス配列) array(value1, value2, ...); // 名前付きキーを持つ配列(連想配列) array(key1 => value1, key2 => value2, ...)パラメータvalue − 配列に