In Datei schreiben

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • In Datei schreiben

    Hallo,
    Ihr denkt warscheinlich ich schon wieder ich habe mich jetzt ein bisschen mit PHP und Formularen und deren Inhalte weitergeben beschäftigt. Soweit geht auch alles!

    Formular.html
    HTML-Code:
    <form action="send.php" method="GET" target="_blank">
    <input type="text" name="name" maxlength="50" size="30">
    <input type="submit" value="Senden" action="send.php">
    </form>
    Send.php
    PHP-Code:
    <?php

    if ( $_GET['name'] <> "" )
    {

        
    $handle fopen "beschrieben.txt""w" );

        
    fwrite $handle$_GET['name'] );

        
    fclose $handle );

        echo 
    "Danke - Ihre Daten wurden speichert";

        
        exit;
    }

    ?>
    Das geht auch alles, nur was ist wenn ich in eine merzeillige Datei schreiben will an deine bestimmte Stelle genau im Text wie stelle ich das dann an. Ich habe bereits bei Google und auch hier geguckt aber nicht zu diesem Thema gefunden entweder bin ich zu blind oder.......

    grüße
    janis
    Zuletzt geändert von Jama22; 17.12.2009, 16:30.

  • #2
    Hm, bin mir jetzt nicht 100% sicher, was Du genau willst. Auf jedenfall interessant sollte das hier für Dich sein:

    PHP / Mit PHP schreiben und lesen - Homepage-Total.de
    Dateifunktionen und Programmausführung - Wie kann ich in einer Datei eine Zeile einfügen oder löschen?
    Mit PHP in TXT schreiben - winforpro.com Support & Community


    mfg streuner
    Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert,
    der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.

    "Diese Software verdient die 3 großen GGG: --- Gesehen --- Gelacht --- Gelöscht ---"

    Kommentar


    • #3
      php.net/fseek

      Frag mich aber nicht wie sich das verhält - also ob man dann vom Zeiger weg einfügt oder überschreibt.
      Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
      Schön - etwas Geschichte kann ja nicht schaden.
      Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

      Kommentar


      • #4
        Benutze bei fwrite den Parameter "a", dann wird der neue Text an den alten angehängt. Denke aber auch an einen Zeilenumbruch.
        PHP-Code:
        $_GET['name']."\n" 
        Peter
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Kommentar


        • #5
          Zitat von Quetschi Beitrag anzeigen
          php.net/fseek

          Frag mich aber nicht wie sich das verhält - also ob man dann vom Zeiger weg einfügt oder überschreibt.
          Das kann ich beantworten: man überschreibt immer, also muss man immer ein Stück voraus lesen und das einem Puffer hinzufügen, dann zurückspringen und wieder ein Stück Puffer schreiben.
          [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
          Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
          Super, danke!
          [/COLOR]

          Kommentar


          • #6
            Peter meint nicht fwrite sondern fopen, also fopen('datei.name', 'a'). Das ist der einfachste Weg, wenn man an eine Datei etwas "hinten anhängen" will.

            Wenn du nicht anhängen willst, bringt dir 'a' nichts. Willst du in einer bestimmten Zeile etwas ändern oder eine Zeile hinter/vor einer anderen einfügen, dann ist file() dein Freund.
            Kannst du nicht zeilenabhängig arbeiten, z.B. weil du einen Teilstring in der Datei bearbeiten/ersetzen/löschen willst, der vielleicht über mehrere Zeilen geht, kannst du mit file_get_contents() die ganze Datei in einen String laden und mit String-Funktionen arbeiten.
            Mit fseek() ginge das im Prinzip auch, ist aber gerade für Neulinge ziemlich kompliziert.

            Kommentar


            • #7
              Urgs - dann kann man gleich mit w+ aufmachen, alles auslesen, mit den string-funktionen den Inhalt entsprechend editieren und dann in einem Rutsch wieder schreiben.
              Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
              Schön - etwas Geschichte kann ja nicht schaden.
              Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

              Kommentar


              • #8
                Zitat von Quetschi Beitrag anzeigen
                Urgs - dann kann man gleich mit w+ aufmachen, alles auslesen, mit den string-funktionen den Inhalt entsprechend editieren und dann in einem Rutsch wieder schreiben.
                w+ leert die Datei aber afaik schon beim Öffnen, also nicht ganz der richtige Weg. Dann a+ oder r+

                Kommentar


                • #9
                  oh - ich hab schon ewig nicht mehr mit dateien im PHP rumgedoktort
                  Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
                  Schön - etwas Geschichte kann ja nicht schaden.
                  Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

                  Kommentar


                  • #10
                    Nein, ich möchte hier (siehe Script) den Text aus der Datei haben!

                    PHP-Code:
                    <?PHP
                    $e 
                    escapeshellcmd('ping [HIER!]');
                    system("$e");
                    ?>

                    Kommentar


                    • #11
                      Na dann wäre file_get_contents doch der Kandidat der Wahl.

                      Kommentar


                      • #12
                        Okay, so ganz verstehe ich das noch nicht.
                        PHP-Code:
                        string file_get_contents       string $filename      [, int $use_include_path      [, resource $context     ]] ) 
                        • $filename: Klar
                        • $use_include_path: Was muss da hin?
                        • $context: Und hier?
                        • Und in welche Datei muss das warscheinlich in diese Datei, oder

                        So?
                        PHP-Code:
                        <?PHP
                        $e 
                        escapeshellcmd('ping string file_get_contents       ( string $filename      [, int $use_include_path      [, resource $context ]] ) ');
                        system("$e");
                        ?>

                        Kommentar


                        • #13
                          Dir fehlen ganz offensichtlich irgendwelche Grundlagen. Ließ mal ein wenig bei dem guten Kropff nach.

                          Kommentar


                          • #14
                            Irgentwie bekomm ich nichts hin, kann mir den keiner schnell mal diesen Script anfertigen? Oder mir helfen was ich tun soll damit es geht?

                            Kommentar


                            • #15
                              Zitat von Jama22 Beitrag anzeigen
                              Irgentwie bekomm ich nichts hin, kann mir den keiner schnell mal diesen Script anfertigen?
                              Kein Wunder, wenn du die Aufgabe, die das Script ausführen soll, nicht konkret beschreibst.

                              Aus deinem Eröffnungsposting lese ich lediglich heraus, dass du den Inhalt der Variablen $_GET['name'] irgendwo in die Datei 'beschrieben.txt' eintragen willst. Aber wohin genau?

                              Oder mir helfen was ich tun soll damit es geht?
                              Schreib dir mal Schritt für Schritt auf, was dein Script machen soll.
                              Dann werde dir klar, was die Datei-Funktionen so machen, und welche Wirkung unterschiedliche Parameter haben.

                              Am Beispiel von file_get_contents():

                              PHP-Code:
                              $daten file_get_contents(
                                  
                              $datei_aus_der_gelesen_wird
                                  
                              FALSE,                       // ignorieren
                                  
                              NULL,                        // ignorieren
                                  
                              $start_position,             // kann weggelassen werden
                                  
                              $anzahl_der_zu_lesenen_bytes // Maximalwert, kann weggelassen werden
                              ); 

                              Daraus schlussfolgere ich, dass du wohl eher file_put_contents() suchst ...
                              Klingon function calls do not have “parameters”‒they have “arguments”‒and they always win them!

                              Kommentar

                              Lädt...
                              X