fopen + fwrite mit CHMOD setzen ?
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
argument
aufruf
beispiel
code
dank
datei
dokumentation
ftp
http
manual
mode
parameter
sequenz
setzen
single
string
syntax
url
zahl
zeigen
-
Hallo
wenn ich eine (neue) Datei anlege und den Inhalt mit fwrite() rein schreibe
dann möchte ich dabei auch gleich CHMOD (die Dateirechte) setzen
$fhx = fopen('data/neue_datei.txt','w',0666); fwrite($fhx,'ich bin Text der in die Datei geschrieben wird'); fclose($fhx);
eigentlich solte dann doch die neue_datei.txt als Dateirechte haben: 0666
... bei FTP sehe ich dann aber für die Datei als Rechte "nur" den Wert: 0644
Warum werden Dateirechte nicht "richtig" gesetzt ?
.... wie macht man es "richtig", so dass man die Rechte bekommt, die man angibt ?!
in der DOKU zu fopen() ... LINK ... steht auch gar-nichts von Dateirechte setzen:
... keine Dateirechte als Argument / Parameter für fopen() Aufruf / Syntax ?
resource fopen ( string $filename , string $mode [, bool $use_include_path = false [, resource $context ]] )
kein Parameter für CHMOD (Dateirechte) in fopen ... für Mode = "w" ... zum Schreiben ???
... aber viele Beispiele (nicht aus der PHP DOKU) zeigen das so
siehe ... wie mein Code oben, 4 Stellige Zahl für CHMOD als Argument nach $mode ("w")
Beitrag zuletzt geändert: 1.5.2013 9:58:24 von kreditonline -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Warum nutzt du nicht die dafür vorgesehene Funktion chmod()?
-
ja, Danke, mit chmod() nach dem schreiben der Datei wird es ja wohl klappen :)
muss ich das so machen:
$fchmod = '0666'; $moddec = octdec($fchmod); chmod($filename, $fmoddec);
oder geht es auch direkt so:
chmod($filename, 0666);
aber nochmal zum Verständniss
... gibt es jetzt bei fopen() die Möglichkeit gleich die Dateirechte zu setzen, oder nicht ?
Viele Beispiele zeigen diese Möglichkeit, aber in der DOKU steht davon nichts ?!?
... wie kommen die in den Beispielen darauf, wenn es nicht in der Doku steht ?
PS: ... und $mode wird meist mit "w" (bzw. "a", etc) angegeben, also doppelte Anführungszeichen,
ist es vielleicht, weil ich $mode mit einfachen Hochkommas angebe ... 'w' .... oder ist das egal ?
-
kreditonline schrieb:
So geht es auch, die Null ist aber wichtig, damit PHP die Zahl als Oktalzahl interpretiert.
oder geht es auch direkt so:
chmod($filename, 0666);
kreditonline schrieb:
Nein, siehe Dokumentation.
aber nochmal zum Verständniss
... gibt es jetzt bei fopen() die Möglichkeit gleich die Dateirechte zu setzen, oder nicht ?
kreditonline schrieb:
Kannst du die Beispiele vllt verlinken? Weil ich finde nirgendwo etwas in diese Richtung…
Viele Beispiele zeigen diese Möglichkeit, aber in der DOKU steht davon nichts ?!?
... wie kommen die in den Beispielen darauf, wenn es nicht in der Doku steht ?
kreditonline schrieb:
Das ist hier egal. Es gibt allerdings einen Unterschied zwischen
PS: ... und $mode wird meist mit "w" (bzw. "a", etc) angegeben, also doppelte Anführungszeichen,
ist es vielleicht, weil ich $mode mit einfachen Hochkommas angebe ... 'w' .... oder ist das egal ?
und'
(falls du ihn nicht kennen solltest): bei"
werden Escape-Sequenzen ausgewertet und Variablen expandiert, bei"
werden nur die Escape-Sequenzen'
und\'
ausgewertet und der Rest 1:1 in den String übernommen. Weitere Infos dazu gibts hier.\\
-
hmm, finde das Beispiel jetzt auch nicht mehr,
es war so ein Tutorial für Counter ohne MySQL
aber ja anscheinend "falsch" ... also Dateirechte setzten geht mit chmod() ... nicht im fopen() Aufruf
Danke !
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage