LCHOWN()関数は、PHP言語のファイル許可変更関数であり、パスにリンクされたファイルまたはディレクトリの所有者を変更するために使用されます。 Linux SystemsのChownコマンドに似ていますが、パスの最後のシンボリックリンクでのみ動作します。パスに複数のシンボリックリンクが含まれている場合、chown()関数を使用して変更する必要があります。
LCHOWN()関数の構文は次のとおりです。
bool lchown(string $filename, mixed $user)
LCHOWN()関数には2つのパラメーターがあります。
LCHOWN()関数を使用してファイル所有者を変更する例は次のとおりです。
$filename = "/var/www/html/test.txt";
$user = "root";
if (lchown($filename, $user)) {
echo "ファイルが属するユーザーは: " . $user;
} else {
echo "ファイルが属するユーザーの変更に失敗しました";
}
このコードは、test.txtファイルの所有者をルートユーザーに変更します。変更が成功した場合、「ファイルが属するユーザーがルートに変更されたユーザー」、それ以外の場合は「ファイルが属するユーザーがファイルが属するユーザーを変更できなかった」出力を出力します。
LCHOWN()関数を使用してディレクトリ所有者を変更する例は次のとおりです。
$dirname = "/var/www/html/test_dir";
$user = "root";
if (lchown($dirname, $user)) {
echo "ディレクトリが属するユーザーは、: " . $user;
} else {
echo "ディレクトリが属するユーザーの変更に失敗しました";
}
このコードは、test_dirディレクトリの所有者をルートユーザーに変更します。変更が成功した場合、出力「ディレクトリが属するユーザーがrootに変更されたユーザー」、それ以外の場合は出力「ディレクトリが属するユーザーが故障したユーザーを変更します」。
ファイルまたはディレクトリの所有者をデジタル形式のユーザーIDまたはグループIDに変更することもできます。以下は例です。
$filename = "/var/www/html/test.txt";
$user_id = 1001;
if (lchown($filename, $user_id)) {
echo "ファイルが属するユーザーは:" . $user_id;
} else {
echo "ファイルが属するユーザーの変更に失敗しました";
}
このコードは、test.txtファイルの所有者を1001のユーザーIDを持つユーザーに変更します。変更が成功した場合、「ファイルが属するユーザーが1001に変更されたユーザー」、それ以外の場合はファイルが属するユーザーが失敗した」出力を出力します。
LCHOWN()関数を使用する場合、次のポイントに注意してください。
LCHOWN()関数は、ファイルまたはディレクトリの所有者を変更するために使用されるPHPの関数です。パスの最後のシンリンクの所有者のみを変更します。パスに複数のシンボリックリンクが含まれている場合、chown()関数を使用して変更する必要があります。使用するときは、スーパーユーザー許可を必ず確認してください。