kostenloser Webspace werbefrei: lima-city


Eintrag aus File löschen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    testworld

    testworld hat kostenlosen Webspace.

    Huhu ich möchte gerne Array[1] löschen das geht doch so:

    $datei = fopen ("anfrage.txt","r");
    $zeile = fgets($datei,500);
    $data = explode("|", $zeile);
    unset($data[1]);
    fclose($datei);

    oder?
    Auf jedenfall löscht er nicht den array[1](data[1]) kan mir wer sagen wieso?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. testworld schrieb:
    Huhu ich möchte gerne Array[1] löschen das geht doch so:

    $datei = fopen ("anfrage.txt","r");
    $zeile = fgets($datei,500);
    $data = explode("|", $zeile);
    unset($data[1]);
    fclose($datei);

    oder?
    Auf jedenfall löscht er nicht den array[1](data[1]) kan mir wer sagen wieso?


    Du löschst damit den Eintrag mit der ID 1 des Arrays, den Array löschst du mit:

    unset($data);

    Edit: In diesem Fall ist es wirklich der zweite Eintrag (explode).

    Beitrag zuletzt geändert: 5.11.2009 20:04:50 von deutscher
  4. unset($data[1]);
    löscht nicht das zweite element sonder das element mit der ID 1
    um ein element über den index zu löschen verwende
    array_splice($array, x, y);

    edit: das ganze habe ich mit google und der frage "php array eintrag löschen" als erstes ergebnis erhalten

    Beitrag zuletzt geändert: 5.11.2009 20:02:43 von syberpsace
  5. Autor dieses Themas

    testworld

    testworld hat kostenlosen Webspace.

    Ich will ja auch nur den 2 eintrag löschen sry hab mich falsch ausgedrückt... doch das klappt irgendwie nicht?o.o weiß wer warum?


    EDIT: array_splice($array, x, y); <<was kommt da anstelle vom x und y sry das ich so dumm frage ich habe aber keine ahnung <.<

    Beitrag zuletzt geändert: 5.11.2009 20:06:10 von testworld
  6. Ich weiß nicht was dein Problem ist, eigentlich funktioniert das unset($data[1]).

    <?php
    $test = array();
    $test[] = "Erster Eintrag";
    $test[] = "Zweiter Eintrag";
    unset($test[1]);
    echo $test[1];     // gibt nichts aus, weil $test[1] nicht mehr existiert.


    Beitrag zuletzt geändert: 5.11.2009 20:10:12 von deutscher
  7. Autor dieses Themas

    testworld

    testworld hat kostenlosen Webspace.

    Ich denke auch das da so eigentlich gehen muss doch bei mir gehts nicht :_: hier nochmal die Textdatei:

    LadyLiya|14|<a href=http://welt14.freewar.de/freewar/internal/fight.php?action=watchuser&act_user_id=1>LadyLiya</a>|ds|

    Und da will ich ganz gerne die 14 löschen doch es klappt nicht mit unset($data[1]);
    Oder ist vileicht auch hier was falsch?:

    $datei = fopen ("anfrage.txt","r");
    $zeile = fgets($datei,500);
    $data = explode("|", $zeile);
    unset($data[1]);
    fclose($datei);
  8. versuch mal mit
    var_dump($data);

    das array auszugeben, um zu sehen ob überhaupt die richtigen werte drinnen sind.
  9. Autor dieses Themas

    testworld

    testworld hat kostenlosen Webspace.

    Das kommt dabei raus:

    array(7) { [0]=> string(8) "LadyLiya" [2]=> string(103) "LadyLiya" [3]=> string(2) "ds" [4]=> string(0) "" [5]=> string(0) "" [6]=> string(0) "" [7]=> string(0) "" }

    könt ihr damit was anfangen? o.O



    EDIT: Mitr hat gerade ein bekannter gesagt: Die Variable im Speicher zu löschen, löscht noch lange nicht den entsprechenden Inhalt der Datei. <.< mhm
    Ok das sehe ich ein aber wie änder ich das jetzt in der datei?... o.O

    Beitrag zuletzt geändert: 5.11.2009 20:30:19 von testworld
  10. das zeigt dann mal ganz deutlich, dass du die 14 rausgelöscht hast o.O
    oder siehst du sie irgendwo in der ausgabe?
  11. Autor dieses Themas

    testworld

    testworld hat kostenlosen Webspace.

    EDIT: Mir hat gerade ein bekannter gesagt: Die Variable im Speicher zu löschen, löscht noch lange nicht den entsprechenden Inhalt der Datei. <.< mhm
    Ok das sehe ich ein aber wie änder ich das jetzt in der datei?... o.O
  12. achso darum gehts, du wills die daten aus der datei raus haben.
    dazu musst du das array dann wieder zurück in die datei schreiben.
    das sollte mit fwrite(...) funktionieren ;)
  13. Autor dieses Themas

    testworld

    testworld hat kostenlosen Webspace.

    Bin schon langsam müde und vewirrt :>

    fwrite($userdatei, und jetzt? o.O sry da ich frage bin wie schon gesagt langsam von der rolle mittlerweile 30h auf den beinen <.<
  14. ich kann dir php.net empfehlen. dort kannst du von allen funktionen die parameter und rückgabewerte sowie deren verwendung anhand kleiner beispiele nachschlagen. einfach mal dort nachlesen wie die funktionen zu handhaben sind.

    mfg
  15. Autor dieses Themas

    testworld

    testworld hat kostenlosen Webspace.

    Mein englisch ist nicht als zu gut:nosmile: bitte verrats mir doch einfach:holy:
  16. hmm..seltsam...bei mir ist php.net auf deutsch (naja vlcht liefert dein browser keine sprachangaben mit, aber egal)
    http://de2.php.net/manual/de/function.fwrite.php <- hier steht ganz schön wie das ganze funktioniert. besser könnte ich es dir garnicht erklären da ich es auch von dort gelernt habe.
  17. Autor dieses Themas

    testworld

    testworld hat kostenlosen Webspace.

    Grrr ich kipp gleich vom Stuhel ich werde das morgen alles deuch lesen.. kannst du mir nicht einfach die Lösung sagen und ich gebe Ruh:prost:
  18. int fwrite  ( resource $handle  , string $string  [, int $length  ] )


    fwrite() schreibt den Inhalt einer Zeichenkette string in die Datei, auf welche der Dateizeiger handle zeigt. Wenn der length Parameter gegeben ist, wird das Schreiben nach length Bytes beendet, oder wenn das Dateiende (EOF) erreicht ist. Je nachdem was eher eintritt.

    fwrite() gibt bei Erfolg die Anzahl der geschriebenen Bytes zurück, andernfalls FALSE.

    Sollte der length Parameter gesetzt sein, so ist zu beachten, dass die magic_quotes_runtime Konfigurations-Option ignoriert wird und somit keine Schrägstriche mehr von der Zeichenkette string entfernt werden.

    Hinweis: Auf Systemen, welche zwischen Binär- und Textdateien (z.B. Windows) unterscheiden, muss die Datei mit 'b' im fopen() Mode-Parameter geöffnet werden.

    Beispiel #1 Ein einfaches Beispiel für fwrite
    <?php
    $filename = 'test.txt';
    $somecontent = "Füge dies Datei hinzu\n";
    
    // Sichergehen, dass die Datei existiert und beschreibbar ist
    if (is_writable($filename)) {
    
        // Wir öffnen $filename im "Anhänge" - Modus.
        // Der Dateizeiger befindet sich am Ende der Datei, und
        // dort wird $somecontent später mit fwrite() geschrieben.
        if (!$handle = fopen($filename, "a")) {
             print "Kann die Datei $filename nicht öffnen";
             exit;
        }
    
        // Schreibe $somecontent in die geöffnete Datei.
        if (!fwrite($handle, $somecontent)) {
            print "Kann in die Datei $filename nicht schreiben";
            exit;
        }
    
        print "Fertig, in Datei $filename wurde $somecontent geschrieben";
    
        fclose($handle);
    
    } else {
        print "Die Datei $filename ist nicht schreibbar";
    }
    ?>



    bitteschön.
    is zwar nur von php.net kopiert, aber was soll ich anders erklären als das? ist doch schön ausführlich und genau, wie du das ganze einsetzen und weiterverarbeiten musst.

    mfg
  19. Autor dieses Themas

    testworld

    testworld hat kostenlosen Webspace.

    Gib mir bitte einfach nur den Skript für:
    Ich will gerne array[1] (14) gegen 1 umtauschen

    LadyLiya|14|<a href=http://welt14.freewar.de/freewar/internal/fight.php?action=watchuser&act_user_id=1>LadyLiya</a>|ds|<<< die Textdatei

    $datei = fopen ("anfrage.txt","r");
    $zeile = fgets($datei,500);
    $data = explode("|", $zeile);
    unset($data[1]);
    fclose($datei); <<< php Datei

    gib mir am besten einfach den vollständigen Skript...

    Ich bedanke mich schonmal
  20. $datei = fopen ("anfrage.txt","r+");
    $zeile = fgets($datei,500);
    $data = explode("|", $zeile);
    $data[1] = 1;//tauscht die eingelesene 14 durch 1 aus
    $datei = fopen ("anfrage.txt","w+"); //leert die datei
    foreach($data as $dings)//durchläuft das array und schreibt jeden wert zurück in die datei
    {
     fwrite($datei, $dings."|");
    }
    fclose($datei);


    ungetestet, sollte aber gehen
  21. Autor dieses Themas

    testworld

    testworld hat kostenlosen Webspace.

    Su bist mein held :king:
    Und nun heißt es :sleep:
  22. 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!