Chci se zeptat co mám vytvořit za soubory s jakým obsahem. Tády je zdrojový kód na fórum:
<-- index.php -->
<?
require "./const.php";
ClearStatCache(); // vymaz vyrovnavaciu pamet
if(!File_Exists($subor)) // ak subor neexistuje - vytvor ho
FClose(FOpen($subor,"w"));
?>
<html>
<head>
<title>Jednoduchý "chat"</title>
</head>
<frameset rows="100,*,20">
<frameset cols="34%,*">
<frame src="head.php?oldSize=<?ClearStatCache(); echo FileSize($subor)?>" name="head">
<frame src="form.php?name=&sprava=" name="form">
</frameset>
<frame src="show.php" name="show">
</frameset>
</html>
<-- show.php -->
<?
Header("Pragma: no-cache");
Header("Cache-control: no-cache");
Header("Expires: ".GMDate("D, d m Y H:i:s")." GMT");
?>
<html>
<head>
<title>Zobrazenie odkazov</title>
</head>
<body bgcolor="#cccccc">
<p style="font-family: 'ARIAL CE', 'HELVETICA CE','ARIAL','HELVETICA'; font-size: 12px;">
<?
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
?>
</p>
</body>
</html>
<-- form -->
<html>
<!-- Ak nie je vyplnene meno - zameraj nan kurzor. Inak zameraj na spravu. -->
<body bgcolor="#666666" onLoad="if(document.f.meno.value.length) document.f.sprava.focus(); else document.f.meno.focus();">
<?
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
?>
<script language="JavaScript">
parent.frames["show"].location = "show.php" // bola pridana sprava, obnov zobrazenie odkazov
</script>
<?
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 type="text" name="meno" size="8" maxlength="<?echo $maxDlzkaMeno?>" value="<?echo $meno?>"></td>
<td><input type="text" name="sprava" size="40" maxlength="<?echo $maxDlzkaSprava?>"> <input type=submit value=" Ok "></td>
</tr>
</table>
</form>
</body>
</html>
<-- head.php -->
<?
Header("Pragma: no-cache");
Header("Cache-control: no-cache");
Header("Expires: ".GMDate("D, d m Y H:i:s")." GMT");
?>
<html>
<head>
<title>Kontrola nových odkazov</title>
<style type="text/css">
input {
background-color: #666666;
color: #000000;
border-left: 0px;
border-right: 0px;
border-top: 0px;
border-bottom: 0px;
}
</style>
</head>
<body bgcolor="#666666">
<?
require "./const.php";
ClearStatCache(); // vymaz vyrovnavaciu pamet
$newSize = FileSize($subor); // zisti velkost suboru
if($newSize != $oldSize): // pribudol novy odkaz ?
?>
<script language="JavaScript">
parent.frames["show"].location = "show.php" // obnov ramec "show"
</script>
<?
endif;
?>
<form name="form">
Kontrola nastane za <input type="text" name="timer" size="3" readonly> s
</form>
<script language="JavaScript">
var t = 10 // konstanta v sekundach znovunacitania stranky
function Timer(){
document.form.timer.value = t // vypis do formulara
if(!t) // uplynula doba casovaca
parent.frames["head"].location = "head.php?oldSize=<?echo $newSize?>"
else{
t--
setTimeout("Timer()",999) // spusti opat o 1 sekundu
}
}
Timer() // spustenie odpocitavania
</script>
</body>
</html>
<-- const.php -->
<?
$subor = "./data.txt"; // cesta k suboru, kde sa budu ukladat spravy
$maxDlzkaMeno = 8; // maximalna dlzka retazca "meno"
$maxDlzkaSprava = 80; // 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;
?> |