PHPのis_link()関数とは?シンボリックリンクの判定方法をわかりやすく解説
PHPのis_link()関数は、指定したファイルがシンボリックリンク(symlink)であるかどうかを判定するための関数です。ファイルが存在し、かつそれがシンボリックリンクであれば TRUE を返し、通常のファイルやディレクトリである場合、あるいはエラーが発生した場合は FALSE を返します。
構文
is_link(file_path)
パラメータ
file_path − シンボリックリンクかどうかを判定したいファイルへのパスを指定します。
戻り値
ファイルが存在し、かつシンボリックリンクである場合は TRUE を返します。通常のファイルやディレクトリである場合、ファイルが存在しない場合などは FALSE を返します。
使用例
<?php
$mylink = "new";
if(is_link($mylink)) {
echo ("link");
} else {
echo ("not a link");
}
?>
出力結果
not a link
この例では、「new」というファイルがシンボリックリンクではないため、「not a link」が出力されます。
続いて、別の例も見てみましょう。
使用例
<?php
$mylink = "documents";
if(is_link($mylink)) {
echo ("link");
} else {
echo ("not a link");
}
?>
出力結果
not a link
この例でも「documents」がシンボリックリンクではないため、「not a link」が出力されます。
補足ポイント
is_link()関数を使用する際には、以下の点に注意しておくと安心です。
PHPはファイル情報をキャッシュするため、同じスクリプト内でファイルの状態が変化した場合は、
clearstatcache()を呼び出してキャッシュをクリアすると正確な結果が得られます。Windows環境ではシンボリックリンクのサポートが限られているため、環境によって動作が異なることがあります。
シンボリックリンクを作成したい場合は、
symlink()関数を使用します。
-
PHPのsymlink()関数の使い方を解説!シンボリックリンクの作成方法
symlink()関数は、シンボリックリンク(ソフトリンク)を作成するためのPHP組み込み関数です。指定したファイルやディレクトリへのリンクを生成し、成功した場合にTRUEを、失敗した場合にFALSEを返します。構文symlink( target, link )パラメータtarget − リンク先となる対象(ファイルまたはディレクトリ)のパス。link − 作成するシンボリックリンクの名前。戻り値symlink()関数は、シンボリックリンクの作成に成功した場合にTRUEを、失敗した場合にFALSEを返します。使用例<?php $target = new.php; $mylink = ne
-
PHPのlink()関数とは?ハードリンクの作成方法を解説
PHPのlink()関数は、ファイルのハードリンクを作成するために使用されます。ハードリンクとは、同じファイルデータに対して別名を与える仕組みで、リンク元とリンク先は同一の実体を参照します。構文link(target, link)パラメータtarget − リンクの対象となるファイルのパス。必須です。link − 作成するリンクの名前(新しいファイルパス)。必須です。戻り値link()関数は、処理が成功した場合にTRUEを、失敗した場合にFALSEを返します。使用例以下の例では、既存の「new.php」ファイルに対して「mynew」という名前のハードリンクを作成していま