udelal jsem si tenhle skript a kdyz pridam prispevek, tak se priradi na konec souboru a rad bych vedel jak to zmenit aby se prirazval nahoru.
<form action="<?php echo $PHP_SELF; ?>" method="post">
<font face="Bank Gothic LT AT">NICK</font> <input type="text"
value="<?php echo $jmeno; ?>" name="jmeno"><br>
<font face="Bank Gothic LT AT">EMAIL</font><input type="text"
value="<?php echo $email; ?>" name="email"><br>
<font face="Bank Gothic LT AT">TEXT</font><br>
<textarea name="text" rows=5 cols=40></textarea>
<input type="submit" name="zapsat"
value="Odeslat zprávu">
<br><br><br></center>
PŘÍSPĚVKY:
<img src="http://vesmir.webz.cz/OBRAZKY/booklista.jpg">
<?php
if ($zapsat):
$fp = fopen ("./kniha.dat", "a");
if (!$fp) exit;
$prispevek = "<i><li><p align=\"left\"><font color=\"red\" size=5 face=\"Bank Gothic Lt At\">" . htmlspecialchars ($jmeno) . "</font><li></i>";
if ($email)
echo"<b>";
$prispevek = "<a href=\"mailto:" .
htmlspecialchars ($email) . "\">" . $prispevek . "</a>";
$prispevek .= ", " . date("j.n.Y G:i:s") . "\n</font><br>" .
nl2br(htmlspecialchars ($text)) . "<br><img src=\"http://vesmir.webz.cz/OBRAZKY/booklista.jpg\">\n";
fputs ($fp, $prispevek);
fclose ($fp);
endif;
?>
<?php
if (File_exists ("./kniha.dat"))
readfile ("./kniha.dat");
?>
<?php
if ($zapsat):
$fp = fopen ("./kniha.dat", "a");
if (!$fp) exit;
endif;
?>
Cusik jestli chces aby se ti to priradilo na zacatek souboru tak musis otevrit ten soubor pro!
r+ - Otevřít pro čtení a zápis; nastaví ukazatel na začátek souboru.
Blbost, to nepůjde. jak dáš parametr Fopen jako a tak to bude vždycky na konec. Už to tady bylo mockrát - musíš obsah souboru uložit do řetězce pak soubor přepsat novými daty a za ně pak uložit ten původní řetězec. Prostě:
if (File_Exists ("./bok.dat")): //existuje soubor?
$fp = FOpen ("./bok.dat", "r"); //otevře soubor pro čtení
$obsah = FRead ($fp, FileSize("./bok.dat")); //přečte data ze souboru a uloží do proměnné $obsah
FClose($fp); //zavře soubor
endif;
$fp = FOpen ("./bok.dat", "w"); //otevře pro přepis nebo vytvoření
FWrite ($fp, $new.$obsah); //zápis do souboru $new na začátek pak $obsah
FClose ($fp);
Ale daleko lepší je zapisovat do souboru každý příspěvek na nový řádek a vždycky na konec souboru. Potom načíst soubor do pole pomocí File() a to pole potom cyklem vypsat od posledního řádku k prvnímu. A je to.
nemohl bys mi ten skript zkombinovat nejak s tim, co jsem napsal ja?
asi to nedam do kupy :((
tak uz nic, ono fakt stacilo jenom r+ :)))))))
tak jsem se spletl. to r+ nestaci :((((((
<HTML><i>nemohl bys mi ten skript zkombinovat nejak s tim, co jsem napsal ja?</i>
tvuj source predelavat nebudu,ale snadno ti to npisu jinak:
// ULOZENI:
$f = fopen("soubor.dat", "a");
flock($f, LOCK_EX);
fwrite($f, "Toto je testovaci prizpevek\n");
flock($f, LOCK_UN);
fclose($f);
// CTENI:
$dat = file("soubor.dat");
$dat = array_reverse($dat);
// VYPSANI:
foreach($dat as $val) {
echo nl2br($val);
}</HTML>
udelal jsem to takhle ale stejne to nefakci:
<table border=10 bordercolor="#409ADA">
<font color="white">
<tr><td bgcolor="7CB6EF"><p align="right">
<form action="<?php echo $PHP_SELF; ?>" method="post">
<font face="Bank Gothic LT AT">NICK</font></td><td bgcolor="7CB6EF"> <input type="text"
value="<?php echo $jmeno; ?>" name="jmeno">
</td></tr>
<tr><td bgcolor="7CB6EF"><p align="right">
<font face="Bank Gothic LT AT">EMAIL</font></td><td bgcolor="7CB6EF"><input type="text"
value="<?php echo $email; ?>" name="email">
</td></tr>
<tr><td bgcolor="7CB6EF"><p align="right">
<font face="Bank Gothic LT AT">TEXT</font><br></td><td bgcolor="7CB6EF">
<textarea name="text" rows=5 cols=40></textarea>
</td></tr>
<tr><td align="center" bgcolor="7CB6EF"><p align="right">
<input type="submit" name="zapsat"
value="Přidej">
</td><td bgcolor="7CB6EF"></td></tr>
</table>
<br><br><br></center>
<font color="gold"><b>PŘÍSPĚVKY:</font></b>
<img src="http://vesmir.webz.cz/OBRAZKY/booklista.jpg">
<font color="lime">
<?php
$f = fopen("kniha.dat", "a");
flock($f, LOCK_EX);
fwrite($f, "Toto je testovaci prizpevek\n");
flock($f, LOCK_UN);
fclose($f);
$prispevek = "<i><li><p align=\"left\"><font color=\"red\" size=5 face=\"Bank Gothic Lt At\">" . htmlspecialchars ($jmeno) . "</font></i>";
if ($email)
echo "<b>";
$prispevek = "<a href=\"mailto:" .
htmlspecialchars ($email) . "\">" . $prispevek . "</a><br><a href=\"mailto:" .
htmlspecialchars ($email) . "\">" . "<li><img src=\"http://vesmir.webz.cz/OBRAZKY/ico_mail_new2.gif\" border=0>" . "</a>";
$prispevek .= "<li><font color=\"#D2D2D2\">" . date("j.n.Y G:i:s") . "\n</font></font><br><font color=\"#8AA5C4\">" .
nl2br(htmlspecialchars ($text)) . "<br></font><img src=\"http://vesmir.webz.cz/OBRAZKY/booklista.jpg\">\n";
fputs ($fp, $prispevek);
fclose ($fp);
endif;
?>
<?php
$dat = file("kniha.dat");
$dat = array_reverse($dat);
?>
<?php
foreach($dat as $val) {
echo nl2br($val);
}
?>
>fputs ($fp, $prispevek);
>fclose ($fp);
tohle je sice hezke ale kde nejaky ten soubor otviras?
neukldej do souboru HTML kod ale pouze cisty text ktery si az potom rozsejes kam potrebujes...