Impressum · Kontakt · Hilfe
Besucher online · Mitglieder



Portal > Foren > Ankündigungen, News und Feedback > Tutorials > [PHP] Wie kann ich eine Textdatei erstellen und mit Inhalt füllen?
Antwort
 
Themen-Optionen
Alt 06.09.2005, 02:22   Nach oben    #1
Ben
Erfahrener Benutzer
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.619
Standard [PHP] Wie kann ich eine Textdatei erstellen und mit Inhalt füllen?

Wie kann ich eine Textdatei erstellen und mit Inhalt füllen?

Der folgende Schnipsel zeigt kurz, wie man es schafft eine Datei auf dem Webserver zu erstellen und diese gleichzeitig mit Inhalt zu füllen.
Zu diesem Zweck erstellen wir uns ein Formular, welches zwei Eingabefelder und eine "Submitbutton" besitzt.
PHP-Code:
<?php

        printf
('<form action="%s" method="post">
                   <input type="text" name="filename" /><br />
                   <input type="text" name="data" /><br />
                   <input type="submit" name="sent" value="datei erstellen" /><br />
                </form>
               '
$_SERVER['PHP_SELF']);

?>
Das Formular ruft die aktuelle Seite erneut auf.

Im Script überprüfen wir, ob das Formular bereits abgeschickt wurde. Dies geschieht, indem wir abfragen, ob der Button betätigt wurde bzw. ob der POST-Request den Namen des "input"-Feldes ( / des Buttons) enthält.
PHP-Code:
<?php

    
if(array_key_exists('sent'$_POST)) {

?>
Ist dies nicht der Fall so wird obiges Formular angezeigt. Nach dem Absenden des Formulars wird also der if-Zweig (siehe: PHP-Kontrollstrukturen - if/else/elseif) abgearbeitet.

Zuerst fügen wir noch eine Testausgabe ein, welche nur einer kleinen Überprüfung dient, ob auch alles so übergeben wurde, wie man es möchte.

PHP-Code:
<?php

        
echo '<pre>';
        
print_r($_POST);
        echo 
'</pre>';

?>
Danach nutzen wir die Funktion fopen() mit dem Modus 'a', um die Datei zu öffnen, sie zu beschreiben und falls sie nicht existiert zu erstellen.

Ich empfehle die Dokumentation zu fopen() im PHP-Manual durchzulesen und zu verstehen. Es ist unerlässlich, dass man versteht, was dieses 'a' dort genau macht

Danach nutzen wir die Funktion aus dem FAQ-Beitrag
Textdateien: Lesen und Schreiben von Inhalten
um den Inhalt in die Datei zu schreiben.
Ich möchte hier jetzt nicht die Anwendung mitbeschreiben, da ich denke, dass es euch ganz gut tun wird, wenn ihr da mal etwas selbst experimentiert
Bei Fragen stehen wir euch im Forum gerne zur Verfügung.

Am Ende wir die Verbindungsresource wieder geschlossen. Dazu nutzen wir fclose().

Bitte die Verwendung von fclose() nicht vergessen.

Das war es. Wir haben nun eine Datei mit beliebigem Namen erstellt und gleichzeitig Inhalt eingefügt.


Ich rate jedem, der sich mit Textdateien und dem Dateisystem als solchem beschäftigen möchte das entsprechende Kapitel im Manual durchzuarbeiten. Dort findet man jede Hilfe, die man benötigt.
XXXVII. Funktionen des Dateisystems (deutsch)
XXXVII. Filesystem Functions (englische Originalversion)

Viel Spaß beim Anwenden

Ich hoffe, dass ihr durch diesen Schnipsel eventuell wieder etwas dazu gelernt habt.
Solltet Ihr Fragen haben, so schreibt bitte einen Beitrag im PHP-Forum mit einem Verweis auf diesen Thread.


Grüße Ben.

Geändert von Jann Hendrik (22.07.2008 um 10:32 Uhr). Grund: links an aktuelle Struktur angepasst
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 06.09.2005, 02:23   Nach oben    #2
Ben
Erfahrener Benutzer
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.619
Standard Wie kann ich eine Textdatei erstellen und mit Inhalt füllen?

Hier nochmal der gesamte Quellcode der Datei.

PHP-Code:
<?php
    
/**
     * created on 06.09.2005
     * @author Ben
     */


    
if(array_key_exists('sent'$_POST)) {
        
        
// Mal schauen, was da so übergeben wurde
        
echo '<pre>';
        
print_r($_POST);
        echo 
'</pre>';
        
        
$handle fopen($_POST['filename'] . '.txt''a');
        
        
// Daten in die Datei schreiben. Nutze dazu die oben erwähnte Funktion :idea:
        
        
fclose($handle);
                
    }
    else {
        
        
printf('<form action="%s" method="post">
                   <input type="text" name="filename" /><br />
                   <input type="text" name="data" /><br />
                   <input type="submit" name="sent" value="datei erstellen" /><br />
                </form>
               '
$_SERVER['PHP_SELF']);     
    }

?>
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 06.09.2005, 11:17   Nach oben    #3
Projektleiter
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.225
Standard Wie kann ich eine Textdatei erstellen und mit Inhalt füllen?

das ganze kann man dann noch dahingehend erweitern, dass man überprüft, ob die Datei überhaupt vorhanden ist.
Wenn nicht, so kann die Funktion touch() die Datei erzeugen, auch wenn sie dafür eigentlich nicht gedacht ist.

Zum Beschreiben einer Datei muss diese natürlich die notwendigen Rechte für einen zur Verfügung stellen. Stichwort chmod.


Ein Anwendungsbeispiel für das schreiben in eine Datei findet ihr hier:
Ein textdateibasiertes Gästebuch

Geändert von Jann Hendrik (03.09.2007 um 10:19 Uhr). Grund: links an aktuelle Struktur angepasst
Jann Hendrik ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.
Trackbacks are An
Pingbacks are An
Refbacks are Aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[PHP] thumbnails erstellen - kleine Funktion Jann Hendrik Tutorials 2 16.01.2008 10:38
[PHP] FTP-Funktionen in PHP nutzen MrNiceGuy Tutorials 0 24.05.2006 14:18
[PHP] Rekursives Erstellen von Verzeichnissen Jojo Tutorials 4 12.03.2006 18:26
[PHP] Dynamisches Füllen einer SELECT-Liste Ben Tutorials 5 09.03.2006 17:51
[PHP] Gästebuch auf Textdatei basierend Jann Hendrik Tutorials 4 11.01.2006 07:50


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:23 Uhr.

Nach oben
Wir nutzen das Zend Framework, vBulletin (vBulletin v3.7.3, Copyright ©2000-2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0) und vBSEO.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44