PHP
Referenzliste
chmod
Dateisystem-Funktionen
Befehl:
bool chmod ( string $filename , int $mode )
Parameter-Liste:
Beschreibung | |
---|---|
Pfad zu der Datei. | |
Beachten 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
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:
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