php - zeilenweise in datei schreiben ?



  • hallo zusammen!

    ich würde gerne zeile für zeile in eine datei schreiben (ascii) wobei die aktuellste Zeile immer ganz oben stehen soll. habs schon mit fseek und fopen mit a+ probiert aber es klappt nicht, wäre für einen tipp dankbar.

    lg
    l00P

    mein code:

    if($_POST['gbook_submit'])
    {
    	$handle = fopen("admin/guestbook", "a+");
    
    	fseek($handle, 0, SEEK_SET);
    	fseek($handle, "\r\n");
    	fwrite($handle, "zeile...");
    
            fclose($handle);
    
    }
    

  • Mod

    geht nicht. du kannst an einer datei nichts vorne anhaengen.

    du kannst nur die datei komplett einlesen, deine zeile vorne dran haengen und dann wieder komplett auf die platte schreiben.

    aber oft ist es besser beim einlesen der datei (wenn man die daten verarbeiten will) einfach von hinten nach vorne zu gehen...



  • aha, dachte ich mir das das nich geht... Einlesen von hinten wäre auch nicht schlecht, wie mach ich das? seek_to_end und dann zeilenweise einlesen? wie geht das??

    lg


  • Mod

    am einfachsten (sofern die datei nicht zu gross ist, waere sie per file() einzulesen und halt von unten nach oben die zeilen durchzugehen...)

    wenn sie zu gross ist, dann sollte man sich etwas anderes ueberlegen, weil es dann zu ineffizient wird...



  • alter text in variable
    cursor auf anfang neuer text reinschreiben und alten text wieder einfügen


Log in to reply