date() liefert falschen Wert in fwrite

Back2toxic

Erfahrenes Mitglied
Hallöchen!

Ich habe hier mal wieder ein Problem, dass ich mir absolut nicht erklären kann.
In meinem Backupscript stoße ich Backups an und logge diverse Sachen mit, u.A. auch die Uhrzeit. Gebe ich den von date(...) generierten String aus, ist alles okay. Schreibe ich diesen String nun aber in eine zuvor geöffnete Datei stimmt diese nicht mehr.


PHP:
// Ausgaben:



// Script
$f = fopen("backupLog.txt","w+");

$date = date("d-m-Y H:i");
echo $date; // Ausgabe 20-01-2011 - 10:19
fwrite($f, $date + " - Backup Vorgang"); // Ausgabe 20
// Gleiches Ergebnis kommt, wenn ich an Stelle von $date die date-Funktion selbst einsetze
// ebenso, wenn ich date(...)  an Stelle von $date einsetze.


if(date("h",time()) < 1){
  // Backups anstossen
} else {
  fwrite($f,"    ausserhalb der erlaubten Zeit gestartet. Abbruch.\r\n-------------------------------------------------\r\n\r\n");
}

fclose($f);

Edit: selbes Passiert, wenn ich $_SERVER['REMOTE_ADDR'] in die Datei schreiben will. Gebe ich diese aus, so erhalte ich eine vollständige IP. Schreibe ich sie in die Datei fehlen plötzlich Zeichen und der restliche Teil, der in die Datei geschrieben werden sollte, fehlt einfach.


Edit2: Problem kurz nach dem ersten Edit gelöst... mache ich es so:
PHP:
fwrite($f, "$date - ....");
funktioniert es. Ebenso mit der IP. Die Frage ist nur: wieso?


Edit3:
Zu viel Javascript ist nicht gut für dich.
Den Stringverkettungsoperator verwenden, schon funktioniert's wie gewollt... *tischbeiß*
 
Zuletzt bearbeitet:
Hi,

was willst du mit dem + Zeichen denn bezwecken? so wie du das oben angegeben hast wird das als PHP Befehl gesehen, sieht man ja schön an der Farbabweichung und das glaub ich ist ja nicht dein Ziel;). Darum funktioniert das ganze auch wenn du das in die " rein ziehst;).
 
Zurück