Das alles wird nicht recht viel helfen :-)
Der Teil zum Schreiben ist o.k.
Probiers mal so:
<?
$strDBFile = implode("", file("datenbank.txt"));
$arr = split($strDBFile, "\n");
$arr = array_reverse($arr);
for($i = 0; $i < sizeof($arr); $i++) {
echo "$i".$arr[i]."<br>";
}
?>
Erklärung:
implode ist gleichwertig mit join. file lest eine Datei in ein Array. Somit ist die ganze Datei in einem Array, dass zu einem String strDBFile zusammengefügt wird. Danach wird gegen "\n" getrennt und die Arrayabfolge umgedreht ... :-)
mfg
Ich habe ein Newsscript das aus drei Dateien besteht erstens die Datei datenbank.txt, zweitens die news.php und index.php .
Die News einzutragen Funzt einwandfrei bis auf das ein neuer Eintrag als letztes angezeigt wird.
Kann man etwas machen das die Einträge mit dem neusten beginnend angezeigt werden ?
Und hier der Quelltext
Quelltext Datei news.php :
<head>
<title>news</title>
<style type="text/css">
<!--
a{text-decoration:none; COLOR: #FFFFFF; font-family: "Verdana"; font-size: 7pt;}
td.date {
BORDER-BOTTOM: #6F6F6F 1px solid; BORDER-LEFT: #6F6F6F 1px solid; BORDER-RIGHT: #6F6F6F 1px solid; BORDER-TOP: #6F6F6F 1px solid; COLOR: #FFFFFF; PADDING-BOTTOM: 2px; PADDING-LEFT: 6px; PADDING-RIGHT: 6px; PADDING-TOP: 2px; font-family: "Verdana"; font-size: 7pt;
}
td.caption {
BORDER-BOTTOM: #C0C0C0 1px solid; BORDER-LEFT: #C0C0C0 1px solid; BORDER-RIGHT: #C0C0C0 1px solid; BORDER-TOP: #C0C0C0 1px solid; COLOR: #9F0000; PADDING-BOTTOM: 2px; PADDING-LEFT: 6px; PADDING-RIGHT: 6px; PADDING-TOP: 2px; font-family: "Verdana"; font-size: 7pt;
}
td.rank {
BORDER-BOTTOM: #C0C0C0 1px solid; BORDER-LEFT: #C0C0C0 1px solid; BORDER-RIGHT: #C0C0C0 1px solid; background-color: #000000; BORDER-TOP: #C0C0C0 1px solid; COLOR: #00FF00; PADDING-BOTTOM: 2px; PADDING-LEFT: 6px; PADDING-RIGHT: 6px; PADDING-TOP: 2px; font-family: "Verdana"; font-size: 7pt;
}
td.space {
COLOR: #9F0000; PADDING-BOTTOM: 2px; PADDING-LEFT: 6px; PADDING-RIGHT: 6px; PADDING-TOP: 2px; font-family: "Verdana"; font-size: 9pt;
}
body { cursor='crosshair'}
--> <img src="grafic/dskhppsp_5x1.jpg" width="553" height="74" border="0" alt="">
</style>
</head>
<table width="471">
<!-- One News Entry -->
<tr>
<td class="rank">
.:]- [HoE] Hell on Earth News -[:.
</td>
</tr>
</table>
<body bgcolor="000000">
<script language="Javascript1.2">
iens6=document.all||document.getElementById
ns4=document.layers
var speed=10
if (iens6){
document.write('<div id="container" style="position:relative;width:471;height:161;border:0px solid black;overflow:hidden">')
document.write('<div align="center" id="content" style="position:absolute;width:471;center:yes;top:0">')
}
</script>
<ilayer name="nscontainer" width="471" height=161 clip="0,0,175,160">
<layer name="nscontent" width="471" height=161 visibility=hidden>
<!--INSERT CONTENT HERE-->
<body bgcolor="000000">
<script language="Javascript1.2">
if (document.all||document.getElementById)
document.body.style.background="url('grafic/dskhppsp_2x1.jpg') white center repeat fixed"
</script>
<script language="Javascript1.2">
if (document.all||document.getElementById)
document.body.style.background="url('grafic/dskhppsp_2x1.jpg') white center repeat fixed"
</script>
<!-- Begin Table -->
<table width="471">
<?php
$dn="datenbank.txt";
$dz=fopen($dn, "r");
$zeile=1;
while (!feof($dz)) {
$ausgabe=fgets($dz,80);
echo "<b>" .$ausgabe . "<br>";
$zeile+=1;
}
fclose($dz);
?>
</table>
<!-- End Table -->
<!--END CONTENT-->
</layer>
</ilayer>
<script language="Javascript1.2">
if (iens6)
document.write('</div></div>')
</script>
<table width="471"><td><p align="center">
<a href="#" onMouseover="moveup()" onMouseout="clearTimeout(moveupvar)"><img src="grafic/up.gif" border=0></a> <a href="#" onMouseover="movedown()" onMouseout="clearTimeout(movedownvar)"><img src="grafic/down.gif" border=0></a></p></td>
<script language="Javascript1.2">
if (iens6){
var crossobj=document.getElementById? document.getElementById("content") : document.all.content
var contentheight=crossobj.offsetHeight
}
else if (ns4){
var crossobj=document.nscontainer.document.nscontent
var contentheight=crossobj.clip.height
}
function movedown(){
if (iens6&&parseInt(crossobj.style.top)>=(contentheight*(-1)+100))
crossobj.style.top=parseInt(crossobj.style.top)-speed
else if (ns4&&crossobj.top>=(contentheight*(-1)+100))
crossobj.top-=speed
movedownvar=setTimeout("movedown()",100)
}
function moveup(){
if (iens6&&parseInt(crossobj.style.top)<=0)
crossobj.style.top=parseInt(crossobj.style.top)+speed
else if (ns4&&crossobj.top<=0)
crossobj.top+=speed
moveupvar=setTimeout("moveup()",100)
}
function getcontent_height(){
if (iens6)
contentheight=crossobj.offsetHeight
else if (ns4)
document.nscontainer.document.nscontent.visibility="show"
}
window.onload=getcontent_height
</script>
<table width="471">
<!-- One News Entry -->
<tr>
<td class="rank">
</td>
</tr>
</table>
</body>
Quelltext der index.php :
<HTML>
<HEAD>
<TITLE>News Administration</TITLE>
</HEAD>
<BODY>
<h2>Neue News eintragen</h2>
<form action=""datenbank.php?speichern=1" method="post">
<b>Datum:</b>
<input type="text" name="date" size=15><br>
<b>Text:</b>(HTML Erlaubt; KEIN Enter Tag nur für Absätze benutzen! Zeilenumbruch ist automatisch)<br>
<textarea name="text" cols="80" rows="4"></textarea><br>
<input type="submit" value="Speichern" name="speichern">
<input type="reset" value="Leeren" name="leeren">
</form>
<?php
if ($speichern) {
$dn="datenbank.txt";
$dz=fopen($dn,"a");
fputs($dz, "<tr><td class=caption>news - $date </td></tr><tr><td class=date>$text</td></tr>" . chr(13) . chr(10));
fclose($dz);
}
?>
<a href="news.php">Eintragen</a>
</BODY>
</HTML>
und die datenbank.txt ist einfach eine leere *.txt Datei.
Bitte helft mir !!!!!!!!