PHP fopen Datei erstellen Berechtigung?

2 Antworten

Also diese Methode mit fopen, fwrite und fclose finde ich persönlich etwas zu umständlich, ich würde da einfach mit "file_put_contents()" arbeiten.

Ungefähr so:

<?php

$filename = 'testdatei.txt';
$content = 'inhalt, der in die datei geschrieben wird';
$path = '/home/user/www/subdir/';

file_put_contents($path . $filename, $content);

Der "$path" darf dabei übrigens keine URL sein, das muss ein lokaler Pfad sein, entweder absolut (wie in obigem Beispiel) oder relativ ausgehend vom aktuellen Verzeichnis (z.B. "foo/bar/").

Siehe auch: http://php.net/file_put_contents

Du kannst natürlich keine Dateien remote schreiben, sondern nur auf deinem Server. Dazu solltest du den absoluten oder relativen Pfad zur Datei mit angeben.


vurex 
Beitragsersteller
 21.05.2016, 23:43

Das ganze hat mich auch nicht viel Weitergebracht, was man vielleicht noch sagen sollte, wenn die Datei bereits per FTP erstellt wurde, und 777 Rechte hat, geht es. ;)

happyfish2  21.05.2016, 23:50
@vurex

Ok hatte den Code nur überflogen, sorry ;-)

Dann liegt es wohl daran, dass - wenn die Datei noch nicht existiert - das Verzeichnis nicht beschrieben werden darf. Also einfach dem übergeordnetem Verzeichnis Schreibrechte geben, dann sollte es klappen.

vurex 
Beitragsersteller
 22.05.2016, 00:02
@happyfish2

Kein Problem. c:

Habe ein neues Verzeichnis erstellt, und dort mal Verzeichnis und Datei 777 Rechte erteilt. Dort ging es dann leider gar nicht mehr.

Zurück im Alten Verzeichnis geht es wieder mit der alten Datei und den Rechten. Hast du möglicherweise noch eine andere Idee, wie man das Problem lösen könnte, oder kennst du dort eine Alternative?

Danke. c: