nevite pls nekdo co je na tomhle spatne?
$stare=fopen("demokraciecount.dat","r");
fclose($stare);
$nove=fopen("demokraciecount.dat","w");
fwrite($nove,intval($stare)+1);
fclose($nove);
Chci nacist ze souboru cislo a pricist jedna a zace ulozit. Nic to nedela.
Potrebuju to, abych mel na vyberove strance ze clanku hodnotu, kolik je uvnitr prispevku ke clanku a s db bohuzel neumim :(
$stare je deskriptor souboru ne jeho obsah, pokud chceš obsah, tak použij něco na přečtení obsahu, třeba:
file_get_contents()
viz manual http://cz.php.net/manual/en/function.file-get-contents.php
zapis vypada dobře..
hm, no ja phpcku praveze vubec nerozumim. Mam ted dva dny nato abych to udelal, pak uz zas nebudu mit cas. Nevite nekdo, jak by to melo presne byt? Ja anglicky neumim a je to pro me dost nesrozumitelne, jak mi to pisete...
Pokud ti jde jen o přičítání čísel tak se dá použít tohle
<?
$file = "pocitadlo.dat";
$fp = FOpen ($file, "r");
$stare = FRead ($fp, FileSize("pocitadlo.dat"));
FClose($fp);
$pluska = $stare + 1;
$fp = fopen($file, "w");
fwrite($fp, $pluska);
fclose($fp);
?>
(samozřejmě si musíš změnit potřebné údaje)
ja fakt nevim, asi se na php nehodim, ale mam to takhle
{
$meno=strip_tags($meno); $mail=strip_tags($mail); $web=strip_tags($web);
$odkaz=strip_tags($odkaz,"<|>,<>,<*>"); $odkaz=nl2br($odkaz);
}
if (($mail!="") and ($meno!="")) {$mail="|<a href=mailto:$mail>$mail</a>";}
else {$mail=""; }
if (($meno!="") or ($mail!=""))
{
$file = "z.dat";
$fp = FOpen ($file, "r");
$stare = FRead ($fp, FileSize("z.dat"));
FClose($fp);
$pluska = $stare + 1;
$fp = fopen($file, "w");
fwrite($fp, $pluska);
fclose($fp);
$old = @fread(@fopen("demokracie.dat","r"),@filesize("demokracie.dat"));
//nastavit formatovanie odkazov
$new = "<hr>".date("d.n.Y")." $meno $mail $web<br><br>$odkaz\n";
$old = $new.$old;
$f = fopen("demokracie.dat","w");
fputs($f,$old);
fclose($f);
}
include("demokracie.dat");
include("z.dat");
?>
podle meho je to logicky dobre, ale proste to nefunguje, nic nepricita :-/
teda pardon, takhle:
<?
if (($meno!="") or ($mail!=""))
{
$meno=strip_tags($meno); $mail=strip_tags($mail); $web=strip_tags($web);
$odkaz=strip_tags($odkaz,"<|>,<>,<*>"); $odkaz=nl2br($odkaz);
}
if (($mail!="") and ($meno!="")) {$mail="|<a href=mailto:$mail>$mail</a>";}
else {$mail=""; }
if (($meno!="") or ($mail!=""))
{
$file = "z.dat";
$fp = FOpen ($file, "r");
$stare = FRead ($fp, FileSize("z.dat"));
FClose($fp);
$pluska = $stare + 1;
$fp = fopen($file, "w");
fwrite($fp, $pluska);
fclose($fp);
$old = @fread(@fopen("demokracie.dat","r"),@filesize("demokracie.dat"));
//nastavit formatovanie odkazov
$new = "<hr>".date("d.n.Y")." $meno $mail $web<br><br>$odkaz\n";
$old = $new.$old;
$f = fopen("demokracie.dat","w");
fputs($f,$old);
fclose($f);
}
include("demokracie.dat");
include("z.dat");
?>
clanek se stale pridava, ale cislo do souboru z.dat ne, tam je porad 0, kterou jsem tam zapsal pri vytvareni souboru.
Zkus si vypisovat, co se z toho souboru přečte a co se tam zapisuje. Pak možná bude třeba prozkoumat, jestli ten soubor tam vůbec je a jestli jde zapisovat. Pak bych se ještě podíval na flock()
Ten script na přičítání funguje stopro, je několikrát odzkoušený takže budeš mít chybu někde že se ti ten přičítací script vůbec neprovede
Ještě možná, skontroluj jestli má ten soubor z.dat nastavená práva na 777
PB, mimo jiné, no, kdyby to někomu vadilo, tak stačí -rw-rw-rw- nepotřebuješ -rwxrwxrwx
Je to jasné, ne? (-;
666 samozrejme nastaveno mam, to jsem udelal jako prvni
Marek z Markova: jak si muzu vypisovat co se precte a co ne?
A co je to ta funkce flock() ?
zamkne subor
ak by niekto do toho suboru pisal tak by sa tie data mohli prekryvat alebo pri najhorsom by sa subor zmazal atd.
proste pred zapisom to zamknes a ak niekto vola ten skript v tej istej chvili tak PHP pocka kym subor znovu odmoknes a potom bude pisat
aha, no jenze je to zatim v testovni verzi, takze to nikdo pouzivat nemuze a nechce se to zapisovat :(