Du bist hier: Tips » Scripte » PHP
PHP
Referenzliste

chmod

Dateisystem-Funktionen

    Befehl:
bool chmod ( string $filename , int $mode )


    Parameter-Liste:
NameBeschreibung
filenamePfad zu der Datei.
modeBeachten Sie, dass mode nicht automatisch für einen Oktalwert gehalten wird, daher funktionieren Zeichenketten (wie etwa "g+w") nicht korrekt. Um sicher zu gehen, dass die Operation wie erwartet verläuft, sollten Sie mode mit dem Prefix Null (0) versehen.

Der mode Parameter besteht aus drei Oktal Ziffer Komponenten, die Zugriffsberechtigungen für den Besitzer, für die Gruppe in der der Zugreifende ist und für alle anderen in dieser Reihenfolge festlegen. Eine Komponete kann durch Addition der benötigten Rechte für das jeweilige Ziel berechnet werden. Ziffer 1 bedeutet, dass man Ausführrechte gewährt, Ziffer 2 bedeuet, dass die Datei beschreibbar ist, Ziffer 4 bedeute, dass die Datei lesbar ist. Addieren sie diese Zahlen, um die benötigten Rechte anzugeben. Sie können mehr über diese Modi in unixoiden Betriebssystemen mit 'man 1 chmod' und 'man 2 chmod' lesen.

    Rückgabewerte:
Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

    Beschreibung:
Mit chmod() kann man die Zugriffsrechte auf eine Datei ändern. Dabei wird der neue Zugriffswert (mode) der Datei (filename) als Oktalzahl angegeben.

Diese Funktion ist sehr nützlich, um nur bestimmte Rechte für eine Datei zu vergeben. Wenn Sie z.B. Statistiken, welche Sie über die Index-Datei sammeln, in eine TXT-Datei schreiben und nicht wollen, dass diese direkt aus dem Internet aufgerufen werden kann, so können Sie diese Datei mit speziellen Rechten (z.B. 0600) ausstatten.

Nun kann nur noch ein Skript von Ihrem Server auf diese Datei zugreifen.


Wichtig: Die Funktion chmod() wird auf dem Betriebssystem Windows nichts bewirken.

Bei der Rechtevergabe kann man für den Eigentümer/Owner, Gruppe/Group und den Rest der Welt/Public verschiedene Zugriffsrechte vergeben.

Werte für mode:

Lesen/Read = r = 4
Schreiben/Write = w = 2
Ausführen/Execute = x = 1


    Aktiv in Version:
(PHP 4, PHP 5, PHP 7)

    Hinweis:
Hinweis:

Der aktuele Nutzer ist der Nutzer mit dem PHP läuft. Dies ist möglicherweise nicht der gleiche Nutzer wie der, den sie für den Shell oder FTP Zugang nutzen. Auf den meisten Betriebssystemen können die Zugriffsrechte nur durch den Besitzer der Datei geändert werden.

Diese Funktion kann nicht mit entfernten Dateien arbeiten, da der Zugriff auf die Datei, die bearbeitet werden soll, über das Dateisystem des Servers möglich sein muss.

Falls Safe Mode aktiviert ist, prüft PHP ob die Dateien oder Verzeichnisse, mit denen sie arbeiten möchten die selbe UID (Besitzer) haben, wie das ausgeführte Skript. Zusätzlich können sie nicht die SUID, SGID und sticky Bits setzen. bits.


    Siehe auch:
•  chown()
Ändert den Eigentümer einer Datei
 
•  chgrp()
Wechselt die Gruppenzugehörigkeit einer Datei
 
Liefert die Zugriffsrechte einer Datei
 
•  stat()
Sammelt Informationen über eine Datei
 

chkmod() - Beispiel:


Eingabe:
<?php
chmod("/einverzeichnis/einedatei", 755);   // decimal; probably incorrect
chmod("/einverzeichnis/einedatei", "u+rwx,go+rx"); // string; incorrect
chmod("/einverzeichnis/einedatei", 0755);  // octal; correct value of mode
?>

chkmod() - Beispiel 2:


Eingabe:
<?php
// Lese und Schreibrechte für den Besitzer, keine für alle anderen
chmod("/somedir/somefile", 0600);

// Lese und Schreibrechte für den Besitzer, Leserechte für alle anderen
chmod("/somedir/somefile", 0644);

// Alle Rechte für den Besitzer, Lese- und Ausführrechte für andere
chmod("/somedir/somefile", 0755);

// Alle Rechte für den Besitzer, Lese- und Ausführrechte für die Gruppe
chmod("/somedir/somefile", 0750);
?>


Beschreibung:
Der mode Parameter besteht aus drei Oktal Ziffer Komponenten, die Zugriffsberechtigungen f�r den Besitzer, f�r die Gruppe in der der Zugreifende ist und f�r alle anderen in dieser Reihenfolge festlegen. Eine Komponete kann durch Addition der ben�tigten Rechte f�r das jeweilige Ziel berechnet werden. Ziffer 1 bedeutet, dass man Ausf�hrrechte gew�hrt, Ziffer 2 bedeuet, dass die Datei beschreibbar ist, Ziffer 4 bedeute, dass die Datei lesbar ist. Addieren sie diese Zahlen, um die ben�tigten Rechte anzugeben. Sie k�nnen mehr �ber diese Modi in unixoiden Betriebssystemen mit 'man 1 chmod' und 'man 2 chmod' lesen.
Dateisystem-Funktionen