【PHP8.x】symlink関数の使い方
symlink関数は、指定されたtarget
(目標)ファイルまたはディレクトリへのシンボリックリンク(ソフトリンクとも呼ばれます)を作成する関数です。シンボリックリンクとは、実際のファイルやディレクトリとは別に、それを指し示すための「ショートカット」のようなものです。これにより、あたかもリンク先のファイルがそこにあるかのように扱えますが、実体は別の場所に存在します。
この関数は、リンク元となるtarget
のパスと、新しく作成するシンボリックリンクのパスlink
の、二つの引数を必要とします。例えば、/path/to/original.txt
というファイルに対して/var/www/shortcut.txt
というシンボリックリンクを作成すると、/var/www/shortcut.txt
にアクセスした際に、実際には/path/to/original.txt
の内容が読み込まれるようになります。
target
で指定したファイルやディレクトリが実際に存在しない場合でも、シンボリックリンク自体は作成できますが、そのリンクにアクセスしようとするとファイルが見つからないといったエラーが発生します。また、link
で指定したパスに既にファイルやディレクトリが存在する場合、シンボリックリンクの作成は失敗し、既存のものは上書きされません。
シンボリックリンクを作成するには、PHPが実行されているユーザーに必要なファイルシステムへの書き込み権限が必要です。特にWindows環境では、PHP 5.3以降で管理者権限を必要とする場合があるため、注意が必要です。関数が成功した場合はtrue
を、失敗した場合はfalse
を返します。失敗時には、error_get_last()
関数などを利用して詳細なエラー情報を確認することができます。
基本的な使い方
構文(syntax)
<?php
$existingSourcePath = 'path/to/your/actual_file_or_directory';
$newSymbolicLinkPath = 'path/to/your/new_link_name';
$isLinkCreated = symlink($existingSourcePath, $newSymbolicLinkPath);
?>
引数(parameters)
string $target, string $link
PHP:
- string $target: リンク元となるファイルまたはディレクトリのパス
- string $link: 作成するシンボリックリンクのパス
戻り値(return)
bool
シンボリックリンクの作成に成功した場合は true
を、失敗した場合は false
を返します。