(PHP 4, PHP 5)
chmod — Dosya kipini değiştirir
Belirtilen dosyanın kipini kip yapmaya çalışır.
Dosya yolu.
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.