kostenloser Webspace werbefrei: lima-city


In Datei Datensatz mit speziellen Anfang nehmen?

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    lol4me

    lol4me hat kostenlosen Webspace.

    Wie einige hier sicher schon mitbekommen habe schreibe ich nen Skript um. Meine Dummheit ist schließlich auch kaum zu übersehen. Aber ich habe kaum Ahnung von Dateibearbeitung per PHP, bin der Datenbanktyp.

    Wenn ich schon umschreibe dachte ich mir dass ich gleich von MySQL auf Textfiles umsteige. Schließlich ist es teilweiße schon die Hölle den MySQL-Limaserver zu verwenden.

    Jetzt habe ich mich gefragt ob es Befehle gibt mit denen man ganz easy Daten aus dem Textfeld auslesen oder editieren kann. Ich dachte mir dass ich so speichern könnte:

    ID|Name|Passwort|Mail.

    Jetzt im Fall vom Login, aber dort bleibe ich doch lieber bei MySQL.
    Wenn ich jetzt z. B. etwas von der ID 5 bräucht wüsste ich nur dass ich es so machen könnte:

    <?php
    $fp = fopen(\"File.txt\",Parameter den ich noch nachschlagen muss);
    while($getline = $fgets($fp,Irgend eine Länge, wird sich noch herrausstellen))
    {
    if($getline[0] == $id)
    {
    break;
    }
    }
    ?>

    und mein mehrstelligen IDs so:

    <?php
    $len = strlen($id);
    $fp = fopen(\"File.txt\",Parameter den ich noch nachschlagen muss);
    while($getline = $fgets($fp,Irgend eine Länge, wird sich noch herrausstellen))
    {
    for($i=0;$i<=$len;$i++)
    {
    $dummy = $dummy.\"\".$getline[$i];
    }
    if($dummy == $id)
    {
    break;
    }
    }
    ?>

    Ist vermutlich unsauber geschrieben und mit großer Sicherheit hat sich min. 1 Fehler eingeschlichen, kenne mich ja und habe es natürlich jetzt nicht getestet.

    Aber gibt es eine Möglichkeit dass ganze einfacher zu machen, ohne das komplette Textfile bis zum Punkt x durchrennen zu lassen? Und am besten noch ob man eine einzelne Zeile problemlos austauschen kann. Mit so einer while kann man ja einfach die Zeilennummer zählen lassen.
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage


  3. <?php
    $fp = fopen(\"File.txt\",Parameter den ich noch nachschlagen muss);
    while($getline = $fgets($fp,Irgend eine Länge, wird sich noch herrausstellen))
    {
    if($getline[0] == $id)
    {
    break;
    }
    }
    ?>


    Daten auslesen:
    <?
    $fhandle = fopen (\"/tmp/inputfile.txt\", \"r\");
    while (!feof($fhandle)) {
        // Zeile lesen oder bis 4096 Zeichen erreicht falls kein Zeilenende kommt
        $line = fgets($fhandle, 4096);
    
        // gibt alle Elemente der Zeile getrennt im Array zurück
        $elements = explode($line, \'|\');
    
        if ($elements[0] == $id) {
            // tue irgendwas mit der gefundenen Zeile...
            // und verlasse Schleife/Datei
            break;
        }
    }
    fclose ($fhandle);
    ?>


    Beim Daten schreiben gibts nichts richtiges - mußt halt entweder mit dem Dateizeiger an der richtigen Position stehen oder die gesamte Datei neu schreiben.
    Da das meist viel overhead ist hat man ja die Datenbanken erfunden ;-)

    Achja reguläre Ausdrücke wären evtl. noch eine Möglichkeit, damit du nicht immer alles durchlaufen mußt. Dann muß man allerdings wissen was da drin steht und dass auch nichts doppelt drin steht.

    Grüßle


    Beitrag geändert: 2.4.2008 16:01:56 von scout
  4. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!