php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 08.05.2005, 15:26  
Gast
 
Beiträge: n/a
Standard Gaestebuch auf txt basierend

Hallo!

Wie kann ich die Einträge in meinem GB (in txt gespeichert) rückwärts ausgeben, sodass der neueste jeweils oben steht??

Die Datei sieht ganz grob so aus:

Code:
		
	$eintrag = "<a href=\"mailto:$mail\">$name</a> 
".nl2br($text);

        $MyFile = fopen("gaestebuch.txt","a");

        fwrite($MyFile,$eintrag."\n"); 
        fclose($MyFile);
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 08.05.2005, 16:50  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

bester und einfachster weg -> sie in der reihenfolge reinschreiben wie du sie ausgeben willst.

ziehe hierzu den 2ten parameter von fopen zu rate!!

www.php.net/fopen
robo47 ist offline  
Alt 08.05.2005, 17:28  
Gast
 
Beiträge: n/a
Standard

Das geht leider nicht, dann wird die ursprünglich erste Zeile nämlich überschrieben sodass immer nur ein datensatz gespeichert werden kann.
 
Alt 08.05.2005, 17:34  
Erfahrener Benutzer
 
Registriert seit: 01.12.2003
Beiträge: 4.113
supertramp
Standard

Zitat:
Zitat von robo47
ziehe hierzu den 2ten parameter von fopen zu rate!!

www.php.net/fopen
das IST die einfachste Art! Wirklich!

"geht nicht" ist keine tolle Fehlerbeschreibung...
__________________
Aufstrebend, kompetent und werbefrei.
www.developers-guide.net
supertramp ist offline  
Alt 08.05.2005, 17:38  
Gast
 
Beiträge: n/a
Standard

"geht nicht" war auch nich meine fehlerbeschreibung.


$MyFile = fopen("gaestebuch.txt",'r+');

wenn ich das so anwende, wird bei mir fast die komplette datei überschrieben?
a und w helfen da auch nichts denn w löscht die datei und a setzt den cursor ja nun auf das ende. Gibts noch nen andern?
 
Alt 08.05.2005, 17:43  
Erfahrener Benutzer
 
Registriert seit: 01.12.2003
Beiträge: 4.113
supertramp
Standard

ggf. auch einfach die ganze Datei einlesen, dann den neuen Eintrag und danach den Rest in eine Variable packen und wieder in die Datei speichern.
__________________
Aufstrebend, kompetent und werbefrei.
www.developers-guide.net
supertramp ist offline  
Alt 08.05.2005, 19:12  
Gast
 
Beiträge: n/a
Standard

hmmm so?

PHP-Code:
<?php
           $schreiben
=file("gaestebuch.txt")."\n".$eintrag;
        
fwrite($MyFile,$schreiben."\n"); 
        
fclose($MyFile); 
                    
?>
funktioniert auch nicht aber hab auch wahrscheinlich was falsch gemacht!?
 
Alt 08.05.2005, 23:33  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

schau dir mal
file_get_contents und file_put_contents an
ansonsten, file() liefert dir ein ARRAY keinen string.

mfg
robo47
robo47 ist offline  
Alt 09.05.2005, 09:45  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von robo47
ansonsten, file() liefert dir ein ARRAY keinen string.
Das ist ja genau das, was er braucht, die Beiträge in einem Array und dann rückwärts ausgeben. Ausgabe:
PHP-Code:
<?php
$inhalt 
file("gaestebuch.txt");
for(
$i count($inhalt) - 1;$i >= 0;$i --){
    echo 
"$inhalt[$i] 
"
;
}
?>
Schreiben:
PHP-Code:
<?php
$fp 
fopen("gaestebuch.txt"'a');
fwrite($fp$neuer_eintrag "\n"); 
fclose($fp);
?>
__________________
Gruss
L
lazydog ist offline  
Alt 09.05.2005, 14:32  
Benutzer
 
Registriert seit: 06.03.2005
Beiträge: 54
-=Slider=-
Standard

hi @lazydog

mal eine kleine frage an dich warum kommt hier ein -1
PHP-Code:
<?php
 count 
($inhalt) -1
?>
-=Slider=- 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
ein login-system, basierend auf MySQL und sessions XraYSoLo PHP-Fortgeschrittene 67 27.07.2008 12:21
ein einfacher counter mit reload-/IP-sperre, basierend auf MySQL XraYSoLo PHP-Fortgeschrittene 7 09.10.2007 12:55
session problem(captcha, gaestebuch) PHP Tipps 2006 7 22.02.2006 16:25
Gaestebuch absichern PHP Tipps 2005 11 18.05.2005 13:04
kleines Gaestebuch für Anfänger - aber nix gehn. warum ? PHP Tipps 2005 4 15.02.2005 11:03
gaestebuch probleme PHP Tipps 2004-2 8 24.12.2004 15:51
Suche Lagerverwaltungssystem php basierend! Beitragsarchiv 9 28.10.2004 10:35
Problem bei HP basierend auf Templates PHP Tipps 2004 3 17.07.2004 12:37
einfaches gb auf textfile basierend PHP-Fortgeschrittene 6 09.06.2004 16:03

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
gästebuch txt bassierend, gästebuch über txt, auf txt datei basierend gästebuch, gaestebuch php file_put_contents, fopen gästebuch, php gästebuch in textdatei, php gaestebuch textdatei

Alle Zeitangaben in WEZ +2. Es ist jetzt 13:23 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.