Liebe(r) Sneap,
ich glaube, Du missverstehst da etwas. Wenn Du eine Datei mit "a" öffnest, dann wird der darin bereits vorhandene Inhalt nicht gelöscht, sondern beibehalten. Das hat nichts mit den Schreibzugriffen der Funktionen fwrite() oder fputs() zu tun. Eine solche Funktion schreibt grundsätzlich nacheinander neue Inhalte in die Datei, ohne irgendetwas Vorheriges dabei zu überschreiben!
Der Moment des "Überschreibens" geschieht lediglich beim Öffnen einer bereits vorhandenen Datei mit dem Parameter "w", da hiermit eine Leere Datei erzeugt, und eventuell anstelle einer bereits vorhandenen Datei erstellt wird. Solange eine einmal geöffnete Datei beschrieben wird, geschehen darin keine Überschreibungen durch fwrite() oder fputs(), es sei denn, Du manipulierst unterwegs absichtlich den Dateizeiger.
if($Logfile == true)
Das kann man kürzer notieren: if ($Logfile)
Wenn Du nicht explizit auf true prüfst (also andere Werte, die man so interpretieren könnte, nicht ausschließt), dann genügt die kürzere Variante. Wenn Du dagegen sicherstellen willst, dass der Inhalt von $Logfile einzig und allein true ist, dann brauchst Du drei Istgleichzeichen:
if ($Logfile === true)
Vergleiche hierzu folgendes:
if ("" == true) echo ("true!");
if (0 == true) echo ("true!");
if (array(1,2,3) == true) echo ("true!");
if ("abc" === true) echo ("true!");
Liebe Grüße,
Felix Riesterer.
--
ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)