SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Fortgeschrittene CSS-Techniken

Fortgeschrittene CSS-Techniken zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > PHP Grundlagen
Hilfe Community Kalender Heutige Beiträge Suchen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 02.03.2009, 13:53:26
liculita liculita ist offline
Anfänger
 
Registriert seit: Feb 2009
Alter: 49
Beiträge: 12
Daten aus einer Text Datei lesen

Tach ich hab da ein Problem und hoffe es kann mir jemand helfen.Ich habe eine Textdatei aus der ein Eintrag ausgelesen werden soll.Es sollen 3 Zeilen ausgegeben werden ich bekomme aber nur 2 und die auch noch an der falschen stelle ich hab mal versucht das zu zeigen und zu beschreiben.Danke im voraus.
______________________________________________________________________

Autor: hallo - das ist der eingegebene Text der sollte eine Reihe weiter oben stehen
Betreff: andre bye - und hier ist die zweite und dritte zeile zusammen ausgegeben worden
weil andre müßte eigentlich in die Zeile Autor. Und bye sollte in der
Zeile Betreff bleiben. Nur leider sehe ich den Fehler nicht.
______________________________________________________________________

Hier kommt das dazu gehörige Script:

forum.php

<?
include("forumfunktionen.php");
if (isset($_POST["text"]))
{

beitrag_hinzufuegen();
}
include("beitraege.php");
?>


<html>
<head>
<title>Forum</title>
<meta name="author" content="diazlopez">
<meta name="editor" content="html-editor phase 5">
</head>
<body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">
<h1>Willkommen beim Forum</h1>
<b>Sagen Sie Ihre Meinung</b> <p/>
<?php formular_anzeigen()?>
<hr>
<?php
for($i=0; $i < count($beitrag); $i++)
{
beitrag_ausgeben($beitrag[$i]);
}
?>
</body>
</html>


forumfunktionen.php

<?php
function beitrag_ausgeben($beitrag)
{
print $beitrag["text"];
print "<br>Autor: ";
print $beitrag["autor"];
print "<br>Betreff: ";
print $beitrag["betr"];
print "<hr> ";
}
function beitrag_hinzufuegen()
{
global $text, $autor, $betr;
$texte = file("beitraege.txt");
$neuer_text = $_POST["text"];
$letzter_textindex = count($texte)-2;
if (trim($texte[$letzter_textindex]) !=$neuer_text)
{
$datei = fopen("beitraege.txt","a");
fputs($datei, "\n$neuer_text\n");
fputs($datei, $_POST['autor']."\n");
fputs($datei, $_POST['betr']."\n");
fclose($datei);
}
}
function formular_anzeigen()
{
?>
<form action="forum.php" method="post">
Text : <input type="text" size=50 name="text"> <br>
Autor: <input type="text" size=20 name="autor"> <br>
Betreff: <input type="text" size=20 name="betr"> <p>
<input type="submit" value="Abschicken">
</form>
<?php
}

?>


beitraege.php

<?php
$datei = fopen("beitraege.txt","r");
$i = 0;
while(!feof($datei))
{
$beitrag[$i]["text"] = fgets($datei, 1024);
$beitrag[$i]["autor"] = fgets($datei, 1024);
$beitrag[$i]["betr"] = fgets($datei, 1024);
$i++;
}
fclose($datei);
?>

Danke!!!
Mit Zitat antworten
  #2  
Alt 02.03.2009, 14:29:04
Benutzerbild von urvater
urvater urvater ist offline
Senior Member
 
Registriert seit: Feb 2006
Ort: Wallrabenstein
Alter: 56
Beiträge: 1.044
AW: Daten aus einer Text Datei lesen

Hab in der funktionen.php mal den ersten Zeilenumbruch entfernt.
Benutze ich eine leere beitraege.txt funktioniert alles wie gewünscht.
Betroffene Zeile:
PHP-Code:
fputs($datei"$neuer_text\n"); 
Mit Zitat antworten
  #3  
Alt 03.03.2009, 10:33:46
Benutzerbild von CeBe
CeBe CeBe ist offline
Anfänger
 
Registriert seit: Oct 2008
Ort: Freden
Alter: 35
Beiträge: 37
CeBe eine Nachricht über ICQ schicken CeBe eine Nachricht über Skype™ schicken
AW: Daten aus einer Text Datei lesen

Moin!

Ich vermute das Problem in:
PHP-Code:
// forum.php

<?
beitraege.php

<?php
$datei 
fopen("beitraege.txt","r");
$i 0;
while(!
feof($datei))
{
$beitrag[$i]["text"] = fgets($datei1024);
$beitrag[$i]["autor"] = fgets($datei1024);
$beitrag[$i]["betr"] = fgets($datei1024);
$i++;
}
fclose($datei);
?>
Du liest mit fgets nicht jede Zeile, sondern jeweils immer 1024 bytes aus der Datei.
Wenn du die Datei Zeilenweise lesen willst, solltest du file() benutzen.

MfG
Carsten
__________________
Mit Zitat antworten
  #4  
Alt 03.03.2009, 11:30:46
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 16
Beiträge: 2.269
AW: Daten aus einer Text Datei lesen

Zitat:
Du liest mit fgets nicht jede Zeile, sondern jeweils immer 1024 bytes aus der Datei.
Da wäre ich mir an deiner Stelle nicht so sicher!
Mit Zitat antworten
  #5  
Alt 03.03.2009, 12:03:49
Benutzerbild von urvater
urvater urvater ist offline
Senior Member
 
Registriert seit: Feb 2006
Ort: Wallrabenstein
Alter: 56
Beiträge: 1.044
AW: Daten aus einer Text Datei lesen

Zitat:
Zitat von CeBe Beitrag anzeigen
Du liest mit fgets nicht jede Zeile, sondern jeweils immer 1024 bytes aus der Datei.
Wenn du die Datei Zeilenweise lesen willst, solltest du file() benutzen.

MfG
Carsten
fgets liest die Datei soweit ein bis:
1. ein Zeilenumbruch erreicht wird
2. Das Ende der Datei erreicht wird
3. die angegebene Menge an bytes erreicht wird.
4. ist kein Bytewert angegeben wird vorerst bis 1024 Bytes eingelesen.

Je nach dem was eher eintritt.
Mit Zitat antworten
  #6  
Alt 03.03.2009, 23:45:36
Benutzerbild von CeBe
CeBe CeBe ist offline
Anfänger
 
Registriert seit: Oct 2008
Ort: Freden
Alter: 35
Beiträge: 37
CeBe eine Nachricht über ICQ schicken CeBe eine Nachricht über Skype™ schicken
AW: Daten aus einer Text Datei lesen

Zitat:
Zitat von urvater Beitrag anzeigen
fgets liest die Datei soweit ein bis:
1. ein Zeilenumbruch erreicht wird
2. Das Ende der Datei erreicht wird
3. die angegebene Menge an bytes erreicht wird.
4. ist kein Bytewert angegeben wird vorerst bis 1024 Bytes eingelesen.

Je nach dem was eher eintritt.
Okay, das stimmt, es tut aber nur in einem Fall (1.) das, was er will.
Verstehe grad aber erst den Aufbau der Dateien. Das Problem stammt also nicht von hier.

MfG
Carsten
__________________
Mit Zitat antworten
Antwort


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

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 aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Newsflash mit marquee Michael17 HTML, CSS und JavaScript Help! 2 04.03.2009 18:51:21
wie gruppiere ich einen Array? burnhard_1979 PHP Grundlagen 2 25.06.2008 15:13:46
Mailtext erzeugt Fehler juergen PHP Grundlagen 4 04.07.2007 18:59:07
Bilder umfleißen lassen MatMel HTML, CSS und JavaScript Help! 4 13.05.2007 02:51:20
Problem mit Zeilenumbruch... DeMaephis PHP für Fortgeschrittene und Experten 6 06.06.2002 20:06:47


Alle Zeitangaben in WEZ +2. Es ist jetzt 03:22:09 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt