Ich habe diesen Code, um jede Datei in einem Ordner zu öffnen, einen Wert um 5 zu verringern und überschreiben dann den vorhandenen Inhalt.String Hinzufügen neuer Zeilen und ich verstehe nicht warum
<?php
foreach (glob("users/*.php") as $filename) {
$array = file($filename);
$wallet = $array[0];
$time = $array[1];
$status = $array[2];
$steamid = $array[3];
$process = fopen($filename, "w") or die("Unable to open file!");
$time = $time - 5;
$newdata = $wallet . "\n" . $time . "\n" . $status . "\n" . $steamid;
fwrite($process, $newdata);
fclose($process);
}
?>
Bevor ich das Skript ausführen, werden die Dateien, die geöffnet wird wie folgt aussehen:
680
310
0
74892748232
Nachdem das Skript ausgeführt wurde, wird die Datei wie folgt aussieht:
680
305
0
74892748232
Wenn die Skript wird erneut ausgeführt, es fügt mehr Zeilen hinzu und bricht nur die Dateien noch mehr.
Die Zeichenfolge für die Datei werden hier erstellt:
$newdata = $wallet . "\n" . $time . "\n" . $status . "\n" . $steamid;
Warum eine leere Zeile nach $ Portemonnaie und $ Status hat es hinzufügen, aber nicht nach $ Zeit? Wie kann ich dies vermeiden und stattdessen aufzuschreiben:
$wallet
$time
$status
$steamid
Vielen Dank im Voraus :)
Depe Sie erfahren, wie Ihr Betriebssystem neue Zeilen behandelt. Versuchen Sie es mit '$ wallet. PHP_EOL. $ Zeit 'stattdessen. –
ist es sehr nützlich, diese 2 Flags mit der Funktionsdatei - FILE_IGNORE_NEW_LINES und FILE_SKIP_EMPTY_LINES zu setzen – splash58