Zdravim,
mam takovy problem. Pridavam text do databaze ale predtim potrebuju aby se mi smazaly vzdy prvni dva radky (resp. 63 znaku), vepsal novy obsah a radky zase napsaly. Cili 63 znaku je porad stejnych.
Nejsem schopny docilit castecneho smazani obsahu, mozna jen potrebuju trochu nakopnout. Jediny napad byl prez substr(). Je neco vhodnejsiho?
zde je cast scriptu...
$uvod je 63 znaku
$old = @fread(@fopen("pt.dat","r"),@filesize("pt.dat"));
$old = substr ($old, -63, 0); //kdyz tam toto neni tak se text vlozi normalne
$new = "$uvod$title$typ$odkaz";
$old = $new.$old;
$f = fopen("pt.dat","w");
fputs($f,$old);
fclose($f);
Diky za napady a rady.
já bych to asi taky dělal zhruba takhle
právě přesně takhle to ale nefunguje..
ono by stačilo, kdyby sis přečetl dokumetaci k substr. nějak nechápu, když tě napadne (správně) použít nějakou fuknci, ale neumíš s ní pracovat a ani si to nenajdeš...
syntaxe je:
substr(string,pocatecni_pozice,[délka])
případně:
substr(string,-pozice_od_konce,[-pozice_konce_odzadu])
(v libovolné kombinaci)
ty tedy asi potřebuješ:
substr($old,63)
nebo možná:
substr($old,-63)
podle toho co chceš, není to úplně srozumitelné
pravda, pravda - ta nula tam byla jako bonus, který mátl.
hluboce se kaju a děkuji za osvětlení.
a fci sem našel tady http://www.cs.vsb.cz/amalka/doc/php/czech/function.substr.html
už to funguje;)
ono by stacilo
cz.php.net/nazev_funkce
cz.php.net/substr
je to rychlejsi nez alternativni kopie manualu.
Navic jsou tam priklady, ktere se do balicku s manualem nepridavaji.