php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 04.11.2004, 13:44  
Benutzer
 
Registriert seit: 29.11.2003
Beiträge: 31
kain
Standard daten in einer text datei speichern

huhu,
ich möchte mich nun mit text datenbanken etwas beschäftigen, weil ich immer nur mysql db's benutzt hatte.

zu erzeugen ist eine text.txt datenbank wo:
1. den neuesten eintrag an erstern stelle schreibt
2. jeder eintrag in einer neuen zeile gespeichert wird

ich zeig euch mal was ich gebaut habe (an code)
wäre nett wenn ihr mir verratet was am besten zusammen passt (an code) denn ich weiss nicht ob ich z.b. fwrite() oder fputs() etc. nehmen soll.

PHP-Code:
$eintrag "$_POST[name] | $_POST[email] | $_POST[hp] | $_POST[text]\n";

            
  
$datei="db.txt";
  
$daten=file($datei);
  
$count=count($daten);
  
$fb=fopen($datei"r+");  
  
rewind($fb);
  
fwrite($fb$eintrag);
  
  for (
$x 0$x $count$x++) {
      
fwrite($fb$daten[$x]);
      }
  
  
fclose($fb); 
mit dem code macht er mir aber nicht bei $eintrag am ende den zeilenumbruch sondern schreibt weitere posting hinten dran.

was habe ich falsch gemacht / oder vergessen?
__________________
www.alkoholScout24.de
kain ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 04.11.2004, 14:33  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.034
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Grundsätzlich sehe ich keinen Fehler. Allerdings würde ich, wenn schon, die Datei zum Schreiben öffnen (fopen('db.txt', "w"), wenn ich nur schreibe. Die frage ist allerdings, ob es Sinn macht, die Datei bei jedem neuen Eintrag neu zu erstellen, statt den neuen Eintrag ans Ende zu schreiben und die Daten dann in umgekehrter Reihenfolge auszugeben. Also (Eingabe):
PHP-Code:
$eintrag "$_POST[name] | $_POST[email] | $_POST[hp] | $_POST[text]\n";    
   
$datei "db.txt";
$fb fopen($datei"a");  
fwrite($fb$eintrag);
fclose($fb); 
(Ausgabe):
PHP-Code:
$datei "db.txt";
$daten file($datei);
$count count($daten) - 1;
  
for (
$x $count$x >= 0$x --) 
{
      echo 
$daten[$x] . "
"
;

__________________
Gruss
L
lazydog ist offline  
Alt 04.11.2004, 15:10  
Benutzer
 
Registriert seit: 29.11.2003
Beiträge: 31
kain
Standard

also du hast mit dem "a" recht, das ist besser so. mein aller erstes script - dort habe ich "r+" gebraucht, hab es aber dann umgeändert zu meinem obrigen script.

nun habe ich mal deinen code eingebaut und vom prinzip her hat sich nichts geändert nur, das der neuste eintrag am ende nun steht, aber noch immer wird nach jedem eintrag kein zeilenumbruch in der db.txt gemacht es gibt also nur eine zeile wo endlos lang ist (wird).

wie kann ich den erzwingen? mit \n oder
geht es nicht.
__________________
www.alkoholScout24.de
kain ist offline  
Alt 04.11.2004, 15:15  
Gast
 
Beiträge: n/a
Standard

PHP-Code:
<?php

$eintrag 
$_POST['name']."|".$_POST['email']."|".$_POST['hp']."|".$_POST['text']."\n";     
    
$datei "db.txt"
$fb fopen($datei"a");   
fwrite($fb$eintrag); 
fclose($fb); 

?>
 
Alt 04.11.2004, 19:02  
Benutzer
 
Registriert seit: 29.11.2003
Beiträge: 31
kain
Standard

hey eine gute idee, aber auch das hat nicht den zeilenumbruch gemacht

und das auch nicht
PHP-Code:
$eintrag "\n".$_POST['name']."|".$_POST['email']."|".$_POST['hp']."|".$_POST['text']."\n"
__________________
www.alkoholScout24.de
kain ist offline  
Alt 05.11.2004, 11:40  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.034
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Bist du ganz sicher, dass du die "\n" in doppelte Anführungszeichen geschrieben hast? Dann muss es irgendwo an den Einstellungen liegen. Probier mal das folgende Script aus:
Code:
$fp = fopen('test.txt', 'w');
fwrite($fp, "a\nb\nc\nd\ne\n");
fclose($fp);
Das produziert bei mir eine Datei mit
Code:
a
b
c
d
e
unabhängig vom Browser. Wenn du die Datei im Browser ausgeben willst, musst du natürlich, wie in meinem Beispiel, die Zeilenende mit "
" ersetzen, oder nl2br() verwenden
__________________
Gruss
L
lazydog ist offline  
Alt 05.11.2004, 13:59  
Benutzer
 
Registriert seit: 29.11.2003
Beiträge: 31
kain
Standard

@ lazydog

ich kann das garnicht glauben!!


Zitat:
Probier mal das folgende Script aus:

Das produziert bei mir eine Datei mit ...
wenn ich genau dein script in ne extra testseite stecke und im browser aufrufe wird genau folgendes in die datei geschrieben: (nur) ੥ ੥ ੥ ੥ ੥
5 rechtecke, aber keine buchstaben und nicht mal untereinander.

wie gibt es sowas? auf meinem pc geht es nicht und auf dem webspace macht er genau die gleichen rechtecke
es ist sehr frustrierend
wie kann das sein? bei mir gehts nicht
__________________
www.alkoholScout24.de
kain ist offline  
Alt 05.11.2004, 14:43  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von kain
wie kann das sein? bei mir gehts nicht
Das liegt dann an Dir. Wenn Dein Texteditor nur Windows ENTER (CR/LF = \r\n) kennt und darstellen kann, dann solltest Du das berücksichtigen.
 
Alt 25.11.2004, 13:47  
Gast
 
Beiträge: n/a
Standard

Ich hab das gleiche Problem, dass mir anstelle des Zeilenumbruches nur das typische "ich kenn das zeichen nicht"-Rechteck angezeigt wird.

verwendet habe ich \n, gibt's da eine Alternative ? Wenn ja, könnte mir diese jemand mal darlegen ?

danke.
 
Alt 25.11.2004, 14:08  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.034
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Die Antwort steht ja im Beitrag vorher:
  • Unix: \n
    Windoof: \r\n
    Mac: \r
__________________
Gruss
L
lazydog ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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 an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
JavaScript/PHP: qooxdoo 0.7.1 - Teil 1 : Eine Einführung Zergling-new Tutorials 6 25.01.2008 10:41
Daten in XML oder INI speichern mAy^daY PHP Tipps 2007 9 27.02.2007 12:30
Daten aus Datenbank sinnvoll speichern PHP Tipps 2006 15 02.02.2006 19:54
Speichern sensibler Daten CC84 PHP Tipps 2006 4 18.01.2006 21:54
Text datei. Zeugs auslesen dsmcg PHP Tipps 2007 38 30.11.2005 20:39
Text datei geordnet auslesen!! lindner PHP Tipps 2007 7 18.11.2005 09:52
Datei mit chmod-value speichern?! PHP Tipps 2005 1 08.05.2005 16:48
DUMP per Linux in ein Datei speichern!! Klaus Datenbanken 1 11.04.2005 08:12
DIV´s wollen nicht wie ich das will :-) HTML, Usability und Barrierefreiheit 22 28.03.2005 18:36
Text in datei ersetzen und dann wieder speichern Ypsillon PHP Tipps 2005 2 19.02.2005 15:26
benutzereingaben in einer datei speichern PHP Tipps 2005 1 27.01.2005 08:16
Datei speichern - via header - O Byte PHP-Fortgeschrittene 1 15.01.2005 17:13
Idee zum Speichern einer Datei PHP Tipps 2005 6 10.01.2005 22:36
In eine Neue Zeile gehen in einer Text datei socke PHP Tipps 2004 4 04.09.2004 02:00
txt-Datei erstellen d-81 PHP Tipps 2004 12 11.08.2004 20:31

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php daten in datei speichern, html text in datei speichern, daten in datei speichern php, html text datei speichern, php datensatz in datei speichern, php speichern in textdatei reihnfolge, php informationen in datei speichern, http://www.php.de/php-tipps-2004/11724-daten-einer-text-datei-speichern.html, php daten datei speichern, html daten speichern text file, html daten in textdatei speichern, html texte als textdatei abspeichern, php in textdatei schreiben reihenfolge, textdatei speichern html, für jeden eintrag eine neue datei anlegen mit php, php daten speichern datei, daten aus der datenbank auslesen und in eine txt schreiben, php daten in datei eingeben, beste fb-einträge, daten aus datenbank in datei schreiben

Alle Zeitangaben in WEZ +1. Es ist jetzt 12:41 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.