php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 27.02.2006, 16:36  
Benutzer
 
Registriert seit: 25.03.2004
Beiträge: 63
kanti
Standard Bin am Verzweifeln - txt-Datei Problem

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
kanti ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 27.02.2006, 17:45  
Benutzer
 
Registriert seit: 25.03.2004
Beiträge: 63
kanti
Standard

Hallo,

habe das Problem gelöst! Falls jemand interesse hat - kann er sich bei mir melden.

Gruss kanti
kanti ist offline  
Alt 27.02.2006, 18:21  
Erfahrener Benutzer
 
Benutzerbild von DER_Brain
 
Registriert seit: 18.04.2005
Beiträge: 1.541
PHP-Kenntnisse:
Fortgeschritten
DER_Brain ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Schreib doch bitte mal kurz, was genau denn die Lösung war!


Ist sicher für die Forensuche interessant, falls einmal jemand mit einem ähnlichem Problem über diesen Thread stolpert....



mfg
Andi
DER_Brain ist offline  
Alt 28.02.2006, 09:45  
Benutzer
 
Registriert seit: 25.03.2004
Beiträge: 63
kanti
Standard

Nach dem eine Text-Datei erstellt war, wird sie eingelesen und die in der TXT-Datei vorhandene Datensätze werden mit dem neuen Datensatz verglichen, damit es zu keiner Dopplung kommt. Bei dem Vergleich wurde nie der erste Datensatz aus der Datei berücksichtigt, so dass es zu Dopplung mit dem ersten Datensatz kam.

Wenn ich als ersten Datensatz eine leer Zeile einfüge, tritt dieses Problem nicht auf.

Gruss Kanti
kanti ist offline  
Alt 28.02.2006, 15:16  
Erfahrener Benutzer
 
Registriert seit: 01.02.2004
Beiträge: 550
cytrobic
Standard

wird evtl daran liegen das du die datei mit a+ öffnest ?

es wird dabei der dateizeiger nämlich auf das ende der datei gesetzt.
Und somit natürlich auch alle anderen vorhergehenden zeilen ignoriert...

dateizeigerposition mal mit ftell() ausgeben lassen oder gleich mit rewind() auf 0 setzen.

dann klappts auch
__________________
keine
cytrobic ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Upload Problem einer ZIP Datei sven2oo8 PHP-Fortgeschrittene 4 23.07.2008 23:54
datei auslese und lösch problem Gokel PHP Tipps 2008 2 17.07.2008 16:26
Problem mit einer auslesen.php datei my_self PHP Tipps 2008 3 02.11.2007 00:09
[Erledigt] Problem mit der Ladezeit - JS Datei zu groß, PHPcacheing? PHP Tipps 2006 1 30.03.2006 16:50
Session Problem R4v3r PHP Tipps 2007 3 30.11.2005 23:25
Datei auf FTP-Server ändern ohne lokal abzuspeichern faux PHP-Fortgeschrittene 11 02.09.2005 11:54
Problem mit OOP PHP Tipps 2005-2 5 01.09.2005 19:37
Problem beim Schreiben in eine Datei PHP-Fortgeschrittene 2 17.08.2005 16:26
XML Datei mit PHP Parsen - Problem mit Zeichencodierung DonTermi PHP-Fortgeschrittene 7 10.08.2005 11:36
sehr merkwürdiges Problem mit require_once PHP Tipps 2005-2 3 16.07.2005 13:42
Datei mit php erzeugen Stümper PHP Tipps 2004 4 12.10.2004 12:51
php und ftp PHP Tipps 2004 4 07.10.2004 09:58
[Erledigt] Problem mit Datei Upload Server, Hosting und Workstations 6 06.09.2004 04:58
Problem beim schreiben in Datei PHP Tipps 2004 5 20.08.2004 14:06
[Erledigt] altes neues problem von datei upload!!! PHP Tipps 2004 3 28.06.2004 19:06

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php csv datei, php textfile schreiben funktioniert nicht, php foreach array dopplung

Alle Zeitangaben in WEZ +2. Es ist jetzt 12:06 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.