【PHP8.x】readlink関数の使い方

作成日: 更新日:

readlink関数は、指定されたシンボリックリンクが指し示す実体のパスを読み取る関数です。これは、ファイルシステム上に存在するシンボリックリンク、つまり別のファイルやディレクトリへの参照として機能する特殊なファイルの実体がどこにあるのかを知りたいときに使用します。

この関数には、読み取りたいシンボリックリンクのパスを文字列として引数に渡します。関数が正常にシンボリックリンクのターゲットを読み取れた場合、そのターゲットの絶対パスまたは相対パスを表す文字列を返します。例えば、「mylink.log」というシンボリックリンクが「/var/log/app/current.log」を指している場合、readlink('mylink.log')を実行すると「/var/log/app/current.log」という文字列が得られます。

もし、指定されたパスが存在しない場合、指定されたパスがシンボリックリンクではない場合、あるいはファイルシステム上の権限不足などの理由でリンクの読み取りに失敗した場合には、この関数はfalseを返します。そのため、関数がfalseを返した際には、エラーが発生したと判断し、プログラム内で適切なエラー処理を行うことが重要です。

readlink関数は、アプリケーションが利用するリソース(設定ファイルやデータディレクトリなど)のパスがシンボリックリンクで管理されている場合に、その実体の場所を特定したり、リンクの先にあるファイルに直接アクセスする前にその情報を確認したりするような状況で非常に役立ちます。

基本的な使い方

構文(syntax)

<?php
$target_path = readlink('/path/to/your/symlink');

引数(parameters)

string $filename

  • string $filename: シンボリックリンクのファイルパスを指定する文字列

戻り値(return)

string|false

指定されたパスのシンボリックリンクの実際のパスを文字列として返します。リンクの解決に失敗した場合は false を返します。

【PHP8.x】readlink関数の使い方 | いっしー@Webエンジニア