PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP Grundlagen (http://www.selfphp.de/forum/forumdisplay.php?f=12)
-   -   fwrite() (http://www.selfphp.de/forum/showthread.php?t=13589)

bweichel 29.05.2006 12:16:50

fwrite()
 
Hallo,

ich möchte mit fwrite eine Datei anlegen - ohne Inhalt. Muss ich dafür immer zuerst die Datei mit fopen() versuchen zu öffnen? Ich meine die Datei existiert ja noch garnicht und ich bekomme dann immer eine Warnmeldung. Gibt es vielleicht ne Möglichkeit eine Datei auch ohne diese Warnmeldung anzulegen oder zumindest zu unterdrücken? Eventuell auch ne andere Funktion um Dateien auf dem Server anzulegen?

Vielen Dank!

ReneP 29.05.2006 17:26:07

AW: fwrite()
 
Du öffnest die Datei ja so:

PHP-Code:

<?
$datei = fopen(Dateiname, Modus);
?>

Dabei können folgende Modus verwendet werden:

Modus Funktion Dateizeiger Anlegen?
---------------------------------------------------
r Lesen Anfang Nein
r+ Lesen und Schreiben Anfang Nein
w Schreiben Anfang Ja
w+ Lesen und Schreiben Anfang Ja
a Schreiben Ende Ja
a+ Lesen und Schreiben Ende Ja

Wenn du also eine Datei öffnen willst, die von Anfang an gelesen wird und die erstellt werden soll, wenn sie nicht existiert, wählst du also als Modus "w".
Zum Beispiel:
$datei = fopen("data.dat", "w");

Ich hoffe, das ist einigermaßen verständlich

bweichel 29.05.2006 18:07:18

AW: fwrite()
 
danke das ist verständlich... ich verwendet den modus a. und wenn die datei dort noch nicht existiert kommt eine warnmeldung. kann man die nicht irgendwie unterdrücken oder gibt es einen modus der die datei nicht ließt, sondern nur anlegt? muss ja nicht unbedingt fwrite sein. mir ist nur nichts anderes zum anlegen von dateien eingefallen, bzw. habe nichts anderes gefunden...

xabbuh 29.05.2006 19:30:42

AW: fwrite()
 
Du kannst zum Beispiel touch() verwenden, damit die Datei angelegt wird, wenn sie nicht existiert.
Oder du prüfst mit is_file(), ob die Datei existiert und entscheidest danach, welchen Modus du für fopen() verwendest.


Alle Zeitangaben in WEZ +2. Es ist jetzt 09:09:09 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.