chown

(PHP 4, PHP 5, PHP 7, PHP 8)

chownDosyanın sahibini değiştirir

Açıklama

chown(string $dosyaismi, string|int $kullanıcı): bool

dosyaismi ile belirtilen dosyanın sahibini kullanıcı yapmaya çalışır. Bu değişikliği sadece root yapabilir.

Bağımsız Değişkenler

dosyaismi

Dosya yolu.

kullanıcı

Kullanıcı ismi veya numarası.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - chown() örneği

<?php

// Kullanılacak dosya ve kullanıcı ismi
$dosya_ismi= "foo.php";
$yol = "/home/sites/php.net/public_html/sandbox/" . $dosya_ismi ;
$kull_ismi = "root";

// Kullanıcıyı değiştirelim
chown($yol, $kull_ismi);

// sonucu sınayalım
$durum = stat($yol);
print_r(posix_getpwuid($stat['uid']));

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [name] => root
    [passwd] => x
    [uid] => 0
    [gid] => 0
    [gecos] => root
    [dir] => /root
    [shell] => /bin/bash
)

Notlar

Bilginize: Dosyaların sunucunun dosya sistemi üzerinden erişilebilir olması gerektiğinden bu işlev uzak dosyalar üzerinde çalışmayacaktır.

Bilginize: Windows'ta, bu işlev normal bir dosyaya uygulandığında sessizce başarısız olur.

Ayrıca Bakınız

  • chmod() - Dosya kipini değiştirir
  • chgrp() - Dosya grubunu değiştirir

add a note

User Contributed Notes 2 notes

up
7
martijn at sigterm dot nl
21 years ago
If chown is filled with a variable ( chown ("myfile", $uid) the uid will be looked up through pwget_uid.

So if you need to set a non existing uid use inval($uid).
up
0
mindlessconsumer+phpnet at gmail dot com
2 days ago
It may be worth making explicitly clear that, while the shell's `chown` command allows both user and group to be set in one system call like this `chown username:groupname filename`, PHP's version unfortunately does not:

<?php
// This will not work.
chown($filename, 'username:groupname');

// You have to use two separate calls.
chown($filename, 'username');
chgrp($filename, 'groupname');
?>
To Top