Hallo,
mit folgendem Skript. Lese ich eine Text-Datei aus.
Prüfe ob der Datensatz schon vorhanden ist oder nicht wenn ja - soll er den Datensatz überschreiben, zur Vermeidung von Dopplungen und Aktualisierung, ansonsten soll er anfügen als neuen Datensatz.
Der erste Datensatz, der in der Textdatei vorhanden ist, wird aber nie überschrieben - wieso?
Hier das Skript:
Code:
$zaehler=0;
$csvdatei = fopen($filesoll,"a+"); //öffnen der datei
$altinhalt=file($filesoll); //array des vorhandenen inhalts
$anzahldata=count($altinhalt); // zum prüfen
if (is_array($altinhalt)) //ist es ein array
{
foreach ($altinhalt as $key => $value)
{
if (strpos($value, $empfaenger) !== false)
{
$lineEm = $key;
}
if (strpos($value, $kontonr) !== false)
{
$lineNr = $key;
}
$zaehler=$zaehler+1;
}
}
if ($lineEm && $lineNr) //sind diese strings entahletn dann überschreiben
{
$altinhalt[$lineEm]= implode(array($empfaenger, $konto, $bklz, $Summe, $ver), ';')."\r\n";
}
else
{
$altinhalt[] = implode(array($empfaenger, $konto, $bklz, $Summe, $ver), ';')."\r\n";
}
fclose($csvdatei);
}
$csvdatei = fopen($filesoll,"w+"); //zum schreiben öffnen der datei
if (is_array($altinhalt))
{
foreach ($altinhalt as $value)
{
fwrite ($csvdatei, $value);
}
fclose($csvdatei);
}
Kann mir jemand helfen? Ganke schon mal im Voraus!
Kanti