PHP: Wert nur in bestimmter Zeile erhöhen
Hallo Zusammen,
ich habe mir ein kleines Script gebastelt, dass mir in einer Textdatei die als Datenbank fungiert
einen Wert hochzählt. Das heißt jedesmal wenn diese PHP-Datei aufgerufen wird, wird in der Datenbank
fürs aktuelle Jahr, eine Zahl um einen Zähler erhöht. Ansich funktioniert soweit erst einmal alles so
wie gewünscht, allerdings schaffe ich es nicht das Script dazu zu bringen nur Zeile 16 zu ändern
bzw. hochzuzählen, alles andere in der Textdatei soll unverändert bleiben.
Wie ich einen Wert aus Zeile 16 auslesen kann weiß ich bereits aber ich bekomme mein Script einfach
nicht so angepasst das, dass von mir gewünschte Ergebniss eintritt.
Ich hoffe das mir jemand von euch weiterhelfen kann.
Hier mein bisheriges Script
<?php
$datei= "Datenbanken/Datenbank ". date('Y').".txt";
$stellen = 5;
if(file_exists($datei)){
$fp=fopen($datei,"r+");
$zahl=fgets($fp,$stellen);
$zahl++;
rewind($fp);
flock($fp,2);
fputs($fp,$zahl,$stellen);
flock($fp,3);
fclose($fp);
}else{
// do nothing
}
?>
Herzlichen Dank für eure Hilfe.
Sven
ich habe mir ein kleines Script gebastelt, dass mir in einer Textdatei die als Datenbank fungiert
einen Wert hochzählt. Das heißt jedesmal wenn diese PHP-Datei aufgerufen wird, wird in der Datenbank
fürs aktuelle Jahr, eine Zahl um einen Zähler erhöht. Ansich funktioniert soweit erst einmal alles so
wie gewünscht, allerdings schaffe ich es nicht das Script dazu zu bringen nur Zeile 16 zu ändern
bzw. hochzuzählen, alles andere in der Textdatei soll unverändert bleiben.
Wie ich einen Wert aus Zeile 16 auslesen kann weiß ich bereits aber ich bekomme mein Script einfach
nicht so angepasst das, dass von mir gewünschte Ergebniss eintritt.
Ich hoffe das mir jemand von euch weiterhelfen kann.
Hier mein bisheriges Script
<?php
$datei= "Datenbanken/Datenbank ". date('Y').".txt";
$stellen = 5;
if(file_exists($datei)){
$fp=fopen($datei,"r+");
$zahl=fgets($fp,$stellen);
$zahl++;
rewind($fp);
flock($fp,2);
fputs($fp,$zahl,$stellen);
flock($fp,3);
fclose($fp);
}else{
// do nothing
}
?>
Herzlichen Dank für eure Hilfe.
Sven
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 256986
Url: https://administrator.de/forum/php-wert-nur-in-bestimmter-zeile-erhoehen-256986.html
Ausgedruckt am: 09.04.2025 um 13:04 Uhr
7 Kommentare
Neuester Kommentar
Hallo Sven,
da gibt es mehrere Möglichkeiten, das wäre z.B. eine Methode:
Grüße Uwe
da gibt es mehrere Möglichkeiten, das wäre z.B. eine Methode:
<?php
$datei= "Datenbanken/Datenbank ". date('Y').".txt";
if (file_exists($datei)){
// Datei in ein Zeilenarray zerlegen
$lines = file($datei);
// Wert der Zeile 16 um eins erhöhen
$lines[15] = (doubleval($lines[15]) + 1) . "\r\n";
// gendertes Array wieder in die Datei zurückschreiben
file_put_contents($datei,join("",$lines));
}
?>
Liegt das womöglich an meiner Textdatei ( Formatierung ) oder ist das aufgrund
des Scriptes so ?
Hmm hier läuft es einwandfrei, da muss bei dir irgendwas nicht stimmen.des Scriptes so ?
Womit schaust du das File an ? Mit Notepad unter Windows ? Dann brauchst du stattdessen einen DOS Zeilenumbruch "\r\n" hinter dem hochgezählten Wert, Zeile 7.
Datei-Kodierung ?(ASCII/UTF8/etc.)