現在の位置: ホーム> 最新記事一覧> php lchown()関数の詳細な説明:ファイルとディレクトリの所有者を変更する方法

php lchown()関数の詳細な説明:ファイルとディレクトリの所有者を変更する方法

gitbox 2025-06-18

1。LCHOWN()関数の紹介

LCHOWN()関数は、PHP言語のファイル許可変更関数であり、パスにリンクされたファイルまたはディレクトリの所有者を変更するために使用されます。 Linux SystemsのChownコマンドに似ていますが、パスの最後のシンボリックリンクでのみ動作します。パスに複数のシンボリックリンクが含まれている場合、chown()関数を使用して変更する必要があります。

2。LCHOWN()関数の構文とパラメーター

LCHOWN()関数の構文は次のとおりです。


bool lchown(string $filename, mixed $user)

LCHOWN()関数には2つのパラメーターがあります。

  • ファイル名:変更するファイルまたはディレクトリのパス。
  • ユーザー:ターゲット許可所有者のユーザー名またはユーザーID。

3。lChown()関数の使用例

3.1ファイル所有者を変更します

LCHOWN()関数を使用してファイル所有者を変更する例は次のとおりです。

 
$filename = "/var/www/html/test.txt";
$user = "root";
if (lchown($filename, $user)) {
    echo "ファイルが属するユーザーは: " . $user;
} else {
    echo "ファイルが属するユーザーの変更に失敗しました";
}

このコードは、test.txtファイルの所有者をルートユーザーに変更します。変更が成功した場合、「ファイルが属するユーザーがルートに変更されたユーザー」、それ以外の場合は「ファイルが属するユーザーがファイルが属するユーザーを変更できなかった」出力を出力します。

3.2ディレクトリ所有者を変更します

LCHOWN()関数を使用してディレクトリ所有者を変更する例は次のとおりです。

 
$dirname = "/var/www/html/test_dir";
$user = "root";
if (lchown($dirname, $user)) {
    echo "ディレクトリが属するユーザーは、: " . $user;
} else {
    echo "ディレクトリが属するユーザーの変更に失敗しました";
}

このコードは、test_dirディレクトリの所有者をルートユーザーに変更します。変更が成功した場合、出力「ディレクトリが属するユーザーがrootに変更されたユーザー」、それ以外の場合は出力「ディレクトリが属するユーザーが故障したユーザーを変更します」。

3.3ファイルまたはディレクトリの所有者のUID/GIDをデジタルフォームとして変更する

ファイルまたはディレクトリの所有者をデジタル形式のユーザー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に変更されたユーザー」、それ以外の場合はファイルが属するユーザーが失敗した」出力を出力します。

4。LCHOWN()関数に関するメモ

LCHOWN()関数を使用する場合、次のポイントに注意してください。

  • スーパーユーザー(ルート)のみがファイルまたはディレクトリの所有者を変更できます。
  • 現在のユーザーの一部ではないファイルまたはディレクトリの所有者を変更しようとすると、PHPは警告レベルのエラーをスローします。
  • LCHOWN()関数は、パスシンボリックリンクの最後のファイルまたはディレクトリの所有者のみを変更します。パスに複数のシンボリックリンクが含まれている場合、chown()関数を変更する必要があります。

5。概要

LCHOWN()関数は、ファイルまたはディレクトリの所有者を変更するために使用されるPHPの関数です。パスの最後のシンリンクの所有者のみを変更します。パスに複数のシンボリックリンクが含まれている場合、chown()関数を使用して変更する必要があります。使用するときは、スーパーユーザー許可を必ず確認してください。