Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

Problem: Datei öffnen oder anlegen mit PHP, je nach Eingabe





Frage

Hallo, Mit der folgenden Datei will ich eine Datei öffnen oder anlegen, je nachdem ob es die Datei schon gibt, oder nicht. Es klappt auch. Wenn man einen bestehenden Dateinamen (in eine Startseite mit Formular) eingibt wird diese ("dateiname") geöffnet und das Wort "Anhang" angefügt. Gibt es die Datei nicht, so wird sie angelegt und "Inhalt" eingefügt. Trotzdem erhalte ich im letzten Fall immer eine Fehlermeldung im browser, Fehler in Zeile 5 bei $fp = fopen("$zu_oeffnen","r+"); dass die Datei nicht existiert. Weiß jemand warum dies so ist? Vielen Dank, Klaus ..........listing........... <? $zu_oeffnen = $_POST["dateiname"]; $fp = fopen("$zu_oeffnen","r+"); if ($fp<>0) // Gibt es die Datei? { $fneu = fopen("$zu_oeffnen","a"); // Öffnet und hängt an flock ($fneu,2); fputs ($fneu,"Anhang"); flock ($fneu,3); fclose ($fneu); } else { $fneu = fopen("$zu_oeffnen","w+"); //Öffnet und schreibt neu flock ($fneu,2); fputs ($fneu,"Inhalt"); flock ($fneu,3); fclose ($fneu); } ?>

Antwort 1 von semi

Verwende 'a+'
'r+' legt keine Datei an, wenn sie nicht exisiert.


Antwort 2 von php_neuling

Hallo Michael,

danke für den Tip, hat aber nicht gefunzt. Ich habe aber die Lösung selber entdeckt. Mit der Funktion "is_file" kann man checken, ob die Datei existiert, dann klappts.

Trotzdem Danke, Klaus

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: