Probleme beim Lesen/Schreiben aus einer Datei

fizzle

Gesperrt
Hi,
zur info mein news Script sieht so aus:

PHP:
<?php
include ("config.php");
$datei = fopen("news/news.txt","a+");
$datum = date("d.m.y, h:i");
$name = $_POST["name"];
$email = $_POST["email"];
$titel = $_POST["title"];
$news = $_POST["news"];
$passwort = $_POST["password"];
fopen("news/news.txt","w+");
fwrite($datei, "$news<br>");
fclose($datei);

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>News - Verarbeitung</title>
</head>
<body>
<table width="450" border="1" bordercolor="#000000" bgcolor="#EEEEEE" cellpadding="0" cellspacing="0">
<tr bordercolor="#2869A2" bgcolor="#2869A2"><td><font size="2" color="#FFFFFF">News - Verarbeitung</font></td></tr>
<tr bordercolor="#EEEEEE" bgcolor="#EEEEEE"><td>
<?php echo "<font face=$font size=$fontsize>";
      echo "<center><h2>Erfolgreich!</h2></center>";
      echo "<center>Die News wurden erfolgreich eingetragen!<Br>";
      echo "Gehe zu: <a href=$websiteurl>$websitename</a> | <a href=news.php>Mehr News eintragen</a></center></font>";
?>
</td></tr></table>
</body>
</html>

(zum Test habe ich erst einfach die News nur speichern lassen.)
Ich verwende hier "a+" als Modus. Hier werden neue Einträge einfach hintereinander geschrieben. Da es für eine News seite aber ziemlich unpraktisch ist, wenn das allerneuste am Ende und nicht am Anfang der Seite steht, frage ich wie ich das machen kann, so dass das neuste immer oben steht?
 
Also am einfachsten wäre es glaub ich wenn du die datei ausliest und dann deine
neuen news vorne dranhängst und diese dann wieder speicherst.
Aus dem stehgreif sieht das ungefähr so aus:
PHP:
  $datei = fopen("news/news.txt","r");
  $content = fread($datei,filesize("news/news.txt"));
  fclose($hdatei);
  $news = $_POST['news'] . "<br>\n" . $content;
  $datei = fopen("news/news.txt","w");
  fwrite($datei, $news);
  fclose($datei);
Eigenrtlich nich so schwer.
Für den Code übernehm ich keine Gewährleistung da er nicht getestet ist.

Gruß
RedWing
 
Zurück