Problem mir fopen() und chmod...
Philip
- php
0 Sönke Tesch0 Philip
Hallo,
Um mir die Arbeit bei Layout-Updates etwas leichter zu machen, habe ich mir ein PHP-Script geschrieben, welches alle HTML-Seiten in meinem Webspace nach dem zu erseztenden HTML-Code durchsucht und ihn durch den upgedateten ersetzt. Funktioniert local auch wunderbar, nur gibts online einige Probleme mit den Rechten. PHP meckert nähmlich beim öffnen der Dateien, weil meine gesamten HTML-Files chmod "rw-r--r--" haben.
Soweit so gut, dann habe ich versucht, die Datei vor dem öffnen zu chmodden (<- schreibt man das so?) und nach dem Bearbeiten wieder zurück zu chmodden. Funktioniert auch nicht. "Warning: chmod() [function.chmod]: Operation not permitted [...]". Ich vermute, das liegt am Eigentümer der Datei?
Lange Rede, kurzer Sinn: hat irgend jemand von euch noch eine andere Idee, die Dateien von PHP beschreibbar zu machen (der Fehler tritt bei fopen($file, "w+"); auf), ausser allen Dateien manuell einen anderen chmod zu geben?
Irgendwie steh ich nähmlich grad aufm Schlauch...
Philip
PHP meckert nähmlich beim öffnen der Dateien, weil meine gesamten HTML-Files chmod "rw-r--r--" haben.
Soweit so gut, dann habe ich versucht, die Datei vor dem öffnen zu chmodden (<- schreibt man das so?)
Wie wär's mit "Rechte ändern", "beschreibbar machen", "schreibenden Zugriff erlauben"..
und nach dem Bearbeiten wieder zurück zu chmodden. Funktioniert auch nicht.
Der Webserver (und damit auch Dein PHP-Skript) läuft unter einer eigenen Nutzerkennung, weshalb er für Deine Dateien gewissermaßen ein Fremder ist. Wenn Du (bzw. Dein Skript) nun einfach fremde Dateien les- oder schreibbar machen könntest, wozu braucht es dann überhaupt noch irgendwelche Rechte?
Lange Rede, kurzer Sinn: hat irgend jemand von euch noch eine andere Idee, die Dateien von PHP beschreibbar zu machen (der Fehler tritt bei fopen($file, "w+"); auf), ausser allen Dateien manuell einen anderen chmod zu geben?
Nein, daß geht aus oben genannten Gründen bei Deinem Webserver nicht per PHP. Du kannst entweder ein CGI-Programm verwenden (sofern Dein Hoster einen suexec-Mechanismus bietet, mit dem das Programm in Deinem Namen laufen würde) oder zu einem Hoster wechseln, der mit den Dateirechten besser umgehen kann.
Gruß,
soenk.e
Hallo
Lange Rede, kurzer Sinn: hat irgend jemand von euch noch eine andere Idee, die Dateien von PHP beschreibbar zu machen (der Fehler tritt bei fopen($file, "w+"); auf), ausser allen Dateien manuell einen anderen chmod zu geben?
Nein, daß geht aus oben genannten Gründen bei Deinem Webserver nicht per PHP. Du kannst entweder ein CGI-Programm verwenden (sofern Dein Hoster einen suexec-Mechanismus bietet, mit dem das Programm in Deinem Namen laufen würde) oder zu einem Hoster wechseln, der mit den Dateirechten besser umgehen kann.
hmmm, und spricht was dagegen, den HTML-Dateien die Rechte "rwxrw-rw-" zu geben? Dann müssts doch funktionieren, oder?
Ich kann leider kein Perl (wg. CGI), daher kann ich das Programm nicht umschreiben...
Gruß,
soenk.e
mfg,
Philip
--
:::::::: http://www.metrox.de ::::::::
hmmm, und spricht was dagegen, den HTML-Dateien die Rechte "rwxrw-rw-" zu geben? Dann müssts doch funktionieren, oder?
Dann funktioniert es, ja. Allerdings kann dann jeder Hans und Franz, der einen irgendwie gearteten Zugang zum Server hat, ebenfalls in die Datei schmieren. Etwas weiter oben im Forum hat jemand ein ähnliches Problem, bitte schau dort nochmal vorbei: [pref:t=49489&m=270431].
Gruß,
soenk.e