tutorials.de Buch-Aktion 05/2012
Like Tree4Danke
  • 1 Beitrag von MArc
  • 1 Beitrag von saftmeister
  • 1 Beitrag von ComFreek
  • 1 Beitrag von saftmeister
ERLEDIGT
JA
ANTWORTEN
9
ZUGRIFFE
359
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    qixx qixx ist offline Mitglied
    Registriert seit
    Jun 2010
    Beiträge
    22
    Hallo Leute,
    kann mir jemand sagen, was ich falsch gemacht habe?

    PHP-Code:
    <?php
        unlink
    ("datei.txt");
        
    $handle fopen("datei.txt""a+");
        
    fwrite($handle"ID234|Der Text|");
        
    $daten file_get_contents("datei.txt");
        
    ereg("ID234|(.*)|" $daten $id);
        echo 
    $id[1];
               echo 
    $daten;
    ?>
    Warning: ereg() [function.ereg]: REG_EMPTY in /users/csa/www/counter.php on line 89
    - In diesem Falle die Zeile mit: ereg("ID234|(.*)|" , $daten , $id);

    MfG
    qixx
     

  2. #2
    Registriert seit
    Apr 2006
    Ort
    Freiburg
    Beiträge
    290
    Blog-Einträge
    2
    Hi,


    du solltest direkt nach dem fwrite(...) ein fflush(handle); folgen lassen.

    Grüße
    qixx bedankt sich. 
    Kryn.cms - einfach anders.

    "When you're talking about webserver, as it is, with no rules, well then, baby you'd better block every tiny hole of your server!" - MArc (inspired by Bruce L.)

  3. #3
    Avatar von saftmeister
    saftmeister saftmeister ist offline Der Saft sei mit dir
    tutorials.de Premium-User
    Registriert seit
    May 2006
    Ort
    There is no place like 127.0.0.1
    Beiträge
    3.521
    Viel wichtiger wäre ein fclose() um die Daten überhaupt auf die Festplatte zu schreiben
    qixx bedankt sich. 
    Grüße
    --
    Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)

  4. #4
    qixx qixx ist offline Mitglied
    Registriert seit
    Jun 2010
    Beiträge
    22
    Es bleibt bei der Fehlermeldung.
    Was bringt fflush denn überhaupt?
    Ich hatte in der Hilfe geguckt, das aber irgendwie
    nicht verstanden...

    Mal eben so nebenbei:
    Ich versuche eine Datei zu erstellen, in der mehrere
    ID's ("ID234") mit einem Wert abgespeichert werden.
    Wenn ich jetzt nach einer bestimmten ID suche, dann
    soll der Inhalt ("Der Text") ausgegeben werden. Kann
    ich das sonst auch anders realisieren?


    Mein Code:
    PHP-Code:
    <?php
        unlink
    ("datei.txt");
        
    $handle fopen("datei.txt""a+");
        
    fwrite($handle"ID234|Der Text|");
        
    fflush($handle);
        
    fclose($handle);
        
    $daten file_get_contents("datei.txt");
        
    ereg("ID234|(.*)|" $daten $id);
        echo 
    $id[1];
             echo 
    $daten;
    ?>
    MfG
    qixx
    Geändert von qixx (27.06.10 um 10:46 Uhr)
     

  5. #5
    Avatar von ComFreek
    ComFreek ComFreek ist gerade online [x] Let it be logic!
    tutorials.de Moderator
    Registriert seit
    Jun 2009
    Beiträge
    2.364
    Blog-Einträge
    4
    Eigentlich werden die Daten zuerst in einen Speicher geschrieben. Erst wenn close() oder flush() aufgerufen wird, werden sie wirklich in die Datei geschrieben.
    qixx bedankt sich. 
    mfg ComFreek

    Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
    Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
    [PHP] Überprüfen, ob Website erreichbarSicherheit in PHP-Codes schaffenGoogle Chrome-Extension für tutorials.dejson_compress()

  6. #6
    qixx qixx ist offline Mitglied
    Registriert seit
    Jun 2010
    Beiträge
    22
    Also müsste ich
    PHP-Code:
    fflush(fwrite($handle"ID234|Der Text|")); 
    machen?


    MfG
    qixx
     

  7. #7
    qixx qixx ist offline Mitglied
    Registriert seit
    Jun 2010
    Beiträge
    22
    So, ich habe jetzt mal weidergemacht..
    Es funktioniert soweit alles, bis auf das, dass
    er in ereg_replace() nicht richtig ersetzt.

    Der Wert aus "Nachher" soll die 3 aus
    "id234-3-id234" ersetzen.

    In der datei.txt steht:
    "id234-3-id234 id235-23455-id235"
    Also, es sieht vor dem Ersetzen so aus:
    "id234-3-id234 id235-23455-id235"
    Und soll nach dem Ersetzen so aussehen:
    "id234-4-id234 id235-23455-id235"


    Warum klappt das nicht?

    PHP-Code:
    <?php
        
    //ID schreiben
        
    $SearchID $_GET['downloadid'];
        
    $daten file_get_contents("datei.txt");
        
    unlink("datei.txt");
        
    ereg($SearchID."-(.*)-".$SearchID $daten$id);
        echo 
    "Vorher: ".$id[1]."<br />";
        
    $id[1] = $id[1] + 1;
        echo 
    "Nachher: ".$id[1]."<br />";
        echo 
    "Vor replace: ".$daten."<br />";
                
        echo 
    $SearchID."-XXX-".$SearchID."<br />";
            
                        
                
        
    ereg_replace($SearchID."-(.*)-".$SearchID $id[1], $daten);
                
        echo 
    "Nach replace: ".$daten."<br />";
        
    //fwrite($handle, "id234-Der Text-id234 id235-Der Text-id235");
        
    $handle fopen("datei.txt""a+");
        
    fwrite($handle$daten);
        
    fclose($handle);
    ?>    
            
    <?php
        
    //ID lesen
        
    $SearchID "id234";
        
    $daten file_get_contents("datei.txt");
        
    ereg($SearchID."-(.*)-".$SearchID $daten$id);
        
    //echo "id[0]: ".$id[0]."<br />";
        
    echo "Downloads: ".$id[1]."<br />";
     
    ?>

    MfG
    qixx
    Geändert von qixx (27.06.10 um 13:03 Uhr)
     

  8. #8
    Avatar von saftmeister
    saftmeister saftmeister ist offline Der Saft sei mit dir
    tutorials.de Premium-User
    Registriert seit
    May 2006
    Ort
    There is no place like 127.0.0.1
    Beiträge
    3.521
    ereg_replace() gibt wie auch preg_replace() den ersetzten String zurück. Daher müsste dein Code diesbezüglich eher so aussehen:

    Code php:
    1
    
    $daten = ereg_replace($SearchID."-(.*)-".$SearchID , $id[1], $daten);
    qixx bedankt sich. 
    Grüße
    --
    Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)

  9. #9
    qixx qixx ist offline Mitglied
    Registriert seit
    Jun 2010
    Beiträge
    22
    Genau so habe ich es gemacht, aber raus kommt nur:

     id235-23455-id235

    Was habe ich jetzt wieder falsch gemacht? xD


    MfG
    qixx
     

  10. #10
    qixx qixx ist offline Mitglied
    Registriert seit
    Jun 2010
    Beiträge
    22
    So, ich habe es selbst lösen können.

    PHP-Code:
    <?php
        
    //ID schreiben
        
    $SearchID $_GET['downloadid'];
        
    $daten file_get_contents("datei.txt");
        
    unlink("datei.txt");
        
    ereg($SearchID."-(.*)-".$SearchID $daten$id);
        echo 
    "Vorher: ".$id[1]."<br />";
        
    $idnew $id[1] + 1;
        echo 
    "Nachher: ".$idnew."<br />";
        echo 
    "Vor replace: ".$daten."<br />";
                
        echo 
    $SearchID."-".$id[1]."-".$SearchID."<br />";

                        
                    
        
    $daten ereg_replace($SearchID."-".$id[1]."-".$SearchID $SearchID."-".$idnew."-".$SearchID$daten);
        
    //ereg_replace($SearchID."-(.*)-".$SearchID , $id[1], $daten);
        
        
    echo "Nach replace: ".$daten."<br />";
        
    //fwrite($handle, "id234-Der Text-id234 id235-Der Text-id235");
        
    $handle fopen("datei.txt""a+");
        
    fwrite($handle$daten);
        
    fclose($handle);
    ?>    
            
    <?php
        
    //ID lesen
        
    $SearchID "id234";
        
    $daten file_get_contents("datei.txt");
        
    ereg($SearchID."-(.*)-".$SearchID $daten$id);
        
    //echo "id[0]: ".$id[0]."<br />";
        
    echo "Downloads: ".$idnew."<br />";
    ?>
    Danke für eure Hilfe und einen schönen Sonntag noch!


    MfG
    qixx
     

Ähnliche Themen

  1. Probleme mit ereg()
    Von proloser im Forum PHP
    Antworten: 4
    Letzter Beitrag: 07.12.06, 00:39
  2. Probleme mit !ereg
    Von milchkuh74 im Forum PHP
    Antworten: 5
    Letzter Beitrag: 02.08.06, 10:24
  3. Probleme mit ereg
    Von sebastianv im Forum PHP
    Antworten: 7
    Letzter Beitrag: 09.06.06, 11:06
  4. HL2 macht Probleme
    Von Alexander12 im Forum Microsoft Windows
    Antworten: 3
    Letzter Beitrag: 10.11.05, 15:09
  5. ereg() Probleme
    Von Reverent im Forum PHP
    Antworten: 0
    Letzter Beitrag: 05.10.05, 21:40

Stichworte