Autor Zpráva
smarkon
Profil *
Potreboval by som jednu pomoc na stránke http://www.beekeeper.hostujem.sk/bee mám chat ale spravy mi vypisuje tak ze od vrchu je uplne prva sprava. A ja to chcem tak ze od vrchu bude zobrazovat poslednu spravu ktoru niekto napisal

index.php
<?
require "./const.php";

if($sprava != ""): // ak sprava nieco obsahuje

	if($meno == "")
		$meno = "Anonym"; // ak uzivatel nezadal meno bude "anonym"
	else
		$meno = StripSlashes(StrTr($meno,"<>&","***")); // odstran lomitka spred citlivych znakov a nahradi niektore nebezpecne znaky

	$sprava = StripSlashes(StrTr($sprava,"<>&","***")); // odstran lomitka spred citlivych znakov a nahradi niektore nebezpecne znaky

	$fp = fopen($subor,"a"); // otvor subor pre doplnenie
	fputs($fp,sprintf($format,$meno,$sprava)); // naformatuj odkaz a zapis ho do suboru
	fclose($fp); // zatvor subor
	?>
		
	<?
	endif;
?>
<form method=post name="f">
<table border="0" align="center">
	<tr align="center">
		<td>Meno</td>
		<td>Správa</td>
	</tr>
	<tr align="center" valign="baseline">
		<td><input name="meno" type="text" id="meno" value="<?echo $meno?>" size="8"  maxlength="<?echo $maxDlzkaMeno?>"></td>
		<td><input type="text" name="sprava" size="40" maxlength="<?echo $maxDlzkaSprava?>"> <input type=submit value="Odo&scaron;li"></td>
	</tr>
</table>
</form>

<?
require "./const.php"; // nacitaj "konstanty"

$fp = FOpen($subor,"r"); // otvor subor na citanie

ClearStatCache(); // vymaz vyrovnavaciu pamet
$velkostSuboru = FileSize($subor); // zisti velkost suboru

if($velkostSuboru > $maxOdkazByte) // uz mam v datovom subore viac sprav ako maxPocetOdkaz ?
	FSeek($fp,$velkostSuboru - $maxOdkazByte); // zmen poziciu na poslednych maxPocetOdkaz

FPassThru($fp); // vypis suboru od aktualnej pozicie & zatvor subor
?>


const.php

<?
$subor = "./data.txt"; // cesta k suboru, kde sa budu ukladat spravy

$maxDlzkaMeno = 8; // maximalna dlzka retazca "meno"
$maxDlzkaSprava = 200; // maximalna dlzka retazca "sprava"

$maxPocetOdkaz = 15; // kolko poslednych odkazov sa ma zobrazovat ?

// format zobrazenia spravy
$format = sprintf("%s <b>%%%d.%ds: </b>%%-%d.%ds<br>",Date("d.m.Y H:i:s"),$maxDlzkaMeno,$maxDlzkaMeno,$maxDlzkaSprava,$maxDlzkaSprava);

// kolko bajtov obsahuje maxPocetOdkaz ?
$maxOdkazByte = StrLen(sprintf($format,"","")) * $maxPocetOdkaz;
?>


thix
reduxcz
Profil *
V tom souboru kde mas ty zpravy mas nejaky zpusob razeni/identifikatory nebo neco podobneho?
Kdyby si to bral z db tak neni problem, ale ze souboru to tak easy neni. Proste to chce cyklus ktery pojede od konce a po kazdem nacteni to odecte jeden radek, a tak pojede az do konce...( muze to byt i naopak,zalezi na tom kam ukladas nove prispevky, jestli na zacatek nebo konec)
smarkon
Profil *
reduxcz

prave to zes db nevem robit

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0