fopen Erzeugt Datei, Aber wie kann man die Berechtigungen ändern?

Erstelle ich eine neue Datei mit fopen.

$filename = 'user_data/10.xml';
$openhandle = fopen($filename, 'w+');

Dann ich überprüfen, ob die Datei wurde erstellt mit: file_exists() Funktion.

Das problem ist: Die Datei wird erstellt, mit der einige Besitzer, wahrscheinlich der name des Ordners, aber nicht mich. Auch die Berechtigungen der Datei ist nur readable by the owner.
Und da bin ich nicht der Eigentümer, ich kann die Datei nicht Lesen, oder die Berechtigungen ändern.

Aber Wenn versuchen, es zu ändern mit:

chown($filename, 'myusername');
chmod($filename, 777);

Ich versuchte, Sie ändern den Besitzer der Datei und die Berechtigungen über das Terminal mit sudo. Das funktionierte richtig.
Also auch ich habe versucht, über die oben genannten Funktionen mit shell_exec() so läuft es in root.

Hatte aber kein Glück.

Obwohl, ich habe nicht viel Erfahrung mit der Datei, die Erlaubnis zahlen, der chown-Befehl ist auch nicht zu arbeiten.

So, wie soll ich den Besitzer wechseln und die Berechtigungen der Datei so bin ich der Eigentümer und seine lese-und Schreibberechtigung für meine anderen PHP-scripts?

  • Wenn die Datei hochgeladen ist (bevor irgendwelche chmod), was sind die Berechtigungen für die Datei, welche Berechtigungen auf user_data Ordner, und wer ist der Inhaber zugewiesen?
  • Ich erstelle eine neue leere Datei, und schreiben Sie dann, um es mit fwrite(). Die Berechtigungen auf die Datei sind: Owner und Group: www-data: Eigentümer: Lesen, Gruppe: ausführen Andere: ausführen, Über die user_data-Ordner, ich bin der Besitzer und alle drei Personen sind-Lesen, Schreiben, Ausführen...
  • Als TimWickstrong sagt, Sie sollten hinzufügen, eine führende 0, um den chmod-Befehl, aber es kommt auch vor, dass Sie möglicherweise nicht über die Berechtigung chmod. Versuchen Sie $chmoded = chmod($filename,0777); if (!$chmoded){echo "Konnte nicht ändern Sie die Datei-Berechtigungen";}... auch, wenn die Datei Berechtigungen sind 777 gibt es keine Notwendigkeit zu chown.
InformationsquelleAutor Arjun Bajaj | 2011-12-28
Schreibe einen Kommentar