Datei-Berechtigungen und CHMOD: Wie 777 in PHP bei der Erstellung der Datei?
Frage aboud Datei-Berechtigungen beim speichern einer Datei, wenn nicht vorhanden, ist ursprünglich als neue Datei.
Nun, das alles gut geht und die gespeicherte Datei zu haben scheinen-Modus 644
.
Was muss ich hier ändern, damit die Dateien speichern als Modus 777
?
Tausend Dank für Hinweise oder Antworten. Der code, den ich denke, relevant ist hier beigefügt habe ich:
/* write to file */
self::writeFileContent($path, $value);
/* Write content to file
* @param string $file Save content to wich file
* @param string $content String that needs to be written to the file
* @return bool
*/
private function writeFileContent($file, $content){
$fp = fopen($file, 'w');
fwrite($fp, $content);
fclose($fp);
return true;
}
- Beachten Sie, dass 0777-Modus ist gefährlich. Siehe stackoverflow.com/questions/2338641/...
- danke. Ich guese 0766 wird ausreichen (müssen es erlauben, für alle, Schreibrechte). ist das besser?
- 0766 ist besser; das wird verhindern, dass die Ausführung von beliebigem code. Hat die Datei müssen Welt beschreibbar ist, oder wird es ausreichen, wenn nur z.B. Apache schreiben können? Sie haben eine Reihe von Anwendungen müssen in der Lage sein zu schreiben Sie diese Dateien? Was ist, wenn du Sie laufen wie die gleiche Gruppe, und setzen Sie 0764-Modus statt?
- es ist nicht wirklich, die schreiben immerhin das ist gefährlich, nicht das ausführen 🙂 ich würde Fragen, warum Sie denken, es hat, zum Welt-schreibbar.
- Flying @Phoenix Danke! Ja, es muss sein, Beschreibbaren, in diesem Fall. Abbruch der exetuging bit löst meine Nacht-Schweiß wwwwiiiuieuuewuwuuuwww 🙂 Guter Punkt, um die Gruppe Sache. Ich werde prüfen, dass aus und machen eine endgültige descition.
InformationsquelleAutor Sam | 2011-06-22
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
PHP verfügt über eine eingebaute Funktion namens
bool chmod(string $filename, int $mode )
http://php.net/function.chmod
Müssen Sie nur manuell legen Sie die gewünschten Berechtigungen mit
chmod()
:Wenn Sie möchten, ändern Sie die Berechtigungen einer vorhandenen Datei verwenden chmod (change mode):
Wenn Sie wollen, dass alle neuen Dateien, die bestimmte Berechtigungen, die Sie brauchen, um sich in die Einstellung Ihres
umode
. Dies ist ein Prozess, Einstellung, gilt eine Standard-Modifikation auf standard-Modi.Es ist eine subtraktive ein. Damit meine ich eine
umode
von022
geben Sie eine Standard-Berechtigung von755
(777 - 022 = 755
).Aber man sollte denke sehr gezielt über beide diese Optionen. Dateien erstellt mit diesem Modus werden völlig ungeschützt von änderungen.
0755
. Nicht755
.