Forum und email

chmod

(PHP 4, PHP 5)

chmod — Megváltoztatja a fájl hozzáférési jogosultságait

Leírás

bool chmod ( string $filename , int $mode )

Megpróbálja a filename paraméterben megadott fájl hozzáférési jogosultságait a mode paraméterben megadottakra változtatni.

Megjegyzés: a mode feltételezhetően oktális érték, tehát karakterláncok (mint "g+w") nem fognak helyesen működni. Hogy ezt biztosítuk, kezdjük a mode paramétert nullával (0):

<?php
chmod
("/somedir/somefile"755);   // decimális; valószínüleg hibás
chmod("/somedir/somefile""u+rwx,go+rx"); // karakterlánc; hibás
chmod("/somedir/somefile"0755);  // oktális; hozzáférési jógosultságok helyes formája
?>

A mode paraméter három oktális számkomponensből áll, amelyek a hozzáférési korlátozásokat szabják meg a tulajdonos, a tulajdonos csoportjának és bárki másnak, ebben a sorrendben. Egy komponenst ki lehet számolni a szükséges jogosultságok hozzáadásával. Az 1-es szám futtatási jogot, a 2-es írási jogot, a 4-es olvasási jogot ad a fájlon. Ezeket a számokat összeadva lehet megszabni a szükséges jogokat. Több információt a hozzáférési jogosultságokról Unix rendszereken a 'man 1 chmod' és 'man 2 chmod' parancsok segítségével.

<?php
// Olvasás és írás a tulajdonosnak, másnak semmilyen hozzáférés
chmod("/somedir/somefile"0600);

// Olvasás és írás a tulajdonosnak, olvasás bárki másnak
chmod("/somedir/somefile"0644);

// Minden a tulajdonosnak, olvasás és futtatás bárki másnak
chmod("/somedir/somefile"0755);

// Minden a tulajdonosnak, írás és olvasás a tulajdonos csoportjának
chmod("/somedir/somefile"0750);
?>

Siker esetén TRUE értékkel tér vissza, ellenkező esetben FALSE értéket ad.

Note: The current user is the user under which PHP runs. It is probably not the same user you use for normal shell or FTP access. The mode can be changed only by user who owns the file on most systems.

Note: Ez a függvény nem fog távoli fájlokkal működni, az a szerver helyi fájlrendszerén lesz keresve.

Note: Ha a safe mode engedélyezbe van, a PHP ellenőrzi, hogy a fájlok vagy könyvtárok, amelyekre hatsz, azoknak ugyanaz az UID-juk (tulajdonos) aki alatt a program fut. the same UID (owner) as the script that is being executed. Emellet nem állíthatod be a SUID-t, a SGID-t és a ragadós biteket (scticky bits).

Lásd még: chown() és chgrp().