(PHP 4, PHP 5, PHP 7, PHP 8)
chmod — Ändert den Modus für die Zugriffsrechte einer Datei
Versucht, den Modus für die Zugriffsrechte der angegebenen Datei zu dem in
permissions
definierten zu ändern.
filename
Pfad zu der Datei.
permissions
Es ist zu beachten, dass permissions
nicht
automatisch für einen Oktalwert gehalten wird. Um also sicherzustellen,
dass die Operation wie erwartet verläuft, muss
permissions
mit dem Präfix Null (0) versehen
werden. Zeichenketten wie etwa "g+w" funktionieren nicht korrekt.
<?php
chmod("/einverzeichnis/einedatei", 755); // dezimal; wahrscheinlich falsch
chmod("/einverzeichnis/einedatei", "u+rwx,go+rx"); // Zeichenkette; falsch
chmod("/einverzeichnis/einedatei", 0755); // oktal; richtiger Wert für den Modus
?>
Der Parameter permissions
besteht aus drei
oktalen Zifferkomponenten, die die Zugriffsberechtigungen für den
Besitzer, für die Gruppe, in der der Besitzer 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. Die Ziffer 1
bedeutet, dass man Ausführrechte gewährt, die Ziffer 2 bedeutet, dass
die Datei beschreibbar ist, die Ziffer 4 bedeutet, dass die Datei
lesbar ist. Addieren Sie diese Zahlen, um die benötigten Rechte
anzugeben. In unixoiden Betriebssystemen können Sie mit
'man 1 chmod' und 'man 2 chmod'
mehr über diese Modi lesen.
<?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);
?>
Bei einem Fehler wird ein E_WARNING
ausgegeben.
Hinweis:
Der aktuelle Nutzer ist der Nutzer, unter dem PHP läuft. Dies ist möglicherweise nicht der gleiche Nutzer wie der, der für den Shell- oder FTP-Zugang verwendet wird. Auf den meisten Betriebssystemen können die Zugriffsrechte nur durch den Besitzer der Datei geändert werden.
Hinweis: 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.