(PHP 4, PHP 5, PHP 7)
chmod — Dosya kipini değiştirir
$dosyaismi
, int $kip
)
Belirtilen dosyanın kipini kip
yapmaya çalışır.
dosyaismi
Dosya yolu.
kip
kip
ile belirtilen değerin özdevinimli olarak
sekizlik bir değer olduğu varsayılmamaktadır, bu bakımdan değerin önüne
0 getirmeniz gerekir. Ayrıca, ("g+w" gibi) dizgesel kip belirtimleri
çalışmayacaktır.
<?php
chmod("/somedir/somefile", 755); // onluk tabanda; doğru sonuç vermeyebilir
chmod("/somedir/somefile", "u+rwx,go+rx"); // dizge; doğru sonuç vermeyebilir
chmod("/somedir/somefile", 0755); // sekizlik; doğru kip değeri.
?>
kip
değiştirgesi üç adet sekizlik değerden
oluşur. Sırayla kullanıcı, grup ve diğerlerinin izinlerini düzenlerler.
Her bileşen kullanıcıya verilen izinlerin toplamından oluşur.
Çalıştırma hakkı için 1, yazma hakkı için 2 ve okuma hakkı için 4
değeri toplama dahil edilir. Unix sistemlerindeki kipler hakkında daha
ayrıntılı bilgiyi 'man 1 chmod' ve 'man 2
chmod' kılavuz sayfalarında bulabilirsiniz.
<?php
//sahibinden başkası okuyup yazamasın
chmod("/birdizin/birdosya", 0600);
// Sahibi okuyup yazsın başka herkes sadece okuyabilsin
chmod("/birdizin/birdosya", 0644);
// Sahibi herşeyi yapsın, başka herkes okuyup çalıştırabilsin
chmod("/birdizin/birdosya", 0755);
// Sahibi herşeyi yapsın, grup üyeleri okuyup çalıştırabilsin,
// diğerleri hiçbir şey yapamasın
chmod("/birdizin/birdosya", 0750);
?>
Başarı durumunda TRUE
, başarısızlık durumunda FALSE
döner.
Bilginize:
Geçerli kullanıcı PHP'yi çalıştıran kullanıcıdır. Muhtemelen normal kabuk ve FTP erişimi için kullandığınız kullanıcı değildir. Çoğu sistemde dosyanın kipini sadece dosyanın sahibi olan kullanıcı değiştirebilir.
Bilginize: Dosyaların sunucunun dosya sistemi üzerinden erişilebilir olması gerektiğinden bu işlev uzak dosyalar üzerinde çalışmayacaktır.
Bilginize:
safe_mode
etkinse, PHP, üzerinde işlem yaptığınız dizin ve dosyaların sahibinin betiği çalıştıran kullanıcı ile aynı olup olmadığını sınayacaktır. Ayrıca, SUID, SGID ve yapışkan bitleri bu işlevle tanımlayamazsınız.