LINUXSOFT.cz
Nazwa użytkownika: Hasło:     
    CZ UK PL

> Komentarze :: Poradna Fórum

Fórum 1.4.2007 11:59
Michael Grygar

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;
?>

Re: Fórum 2.4.2007 13:22
Petr Zajíc

Index.php, show.php, formulář, head.php, a const.php. Vždyť je to tam napsané. Mimochodem, není nutné to sem kopírovat, stačí se odkázat na původní skript na
http://www.linuxsoft.cz/script_detail.php?id_script=198

Re: Fórum 5.4.2007 20:08
Michael Grygar
A co je ten formulář?

KOMENTARZE
Fórum 1.4.2007 11:59 Michael Grygar
  L Re: Fórum 2.4.2007 13:22 Petr Zajíc
    L Re: Fórum 5.4.2007 20:08 Michael Grygar
Tylko zarejestrowani użytkownicy mogą dopisywać komentarze.
> Szukanie oprogramowania
1. Pacman linux
Download: 4789x
2. FreeBSD
Download: 8979x
3. PCLinuxOS-2010
Download: 8483x
4. alcolix
Download: 10792x
5. Onebase Linux
Download: 9565x
6. Novell Linux Desktop
Download: 0x
7. KateOS
Download: 6134x

1. xinetd
Download: 2324x
2. RDGS
Download: 937x
3. spkg
Download: 4537x
4. LinPacker
Download: 9787x
5. VFU File Manager
Download: 3109x
6. LeftHand Mała Księgowość
Download: 6994x
7. MISU pyFotoResize
Download: 2695x
8. Lefthand CRM
Download: 3479x
9. MetadataExtractor
Download: 0x
10. RCP100
Download: 2991x
11. Predaj softveru
Download: 0x
12. MSH Free Autoresponder
Download: 0x
©Pavel Kysilka - 2003-2024 | mailatlinuxsoft.cz | Design: www.megadesign.cz