Zápis do souboru na zacatek , bez predchoziho vymazani puvodniho obsahu

Lidi, mam problem , je naka funkce , ktera by hodila do souboru to co chci zapsat , aniz by smazala puvdni obsah????????
Napadaj me dve moznosti - vzdycky soubor precist do stringu, na zacatek pripojit novy data a znova zapsat.... Nebo psat soubor obracene (strrev) a pridavat tam taky obraceny retezce nakonec, k otevirani souboru fopen(soubor,"a");, k zapisu fwrite, zapise to nakonec a potom soubor celey precist do stringu a zase obratit zpatky :-)
A co tak stary soubor prejmenovat (ale bude to porad na disku, takze
vypadek proudu by tomu nemel moc vadit).
A do noveho ulozit co chces, a pripojis stary soubor (tzn otevres, prectes a zapises).
A mas k tomu automaticky zalohu. (klidne ji muzes smaznout az pri dalsim pripisovani).
A nebo jednotlivy zapisy sypej do databaze a vytahnes si je serazene, jak potrebujes.
Mozna by se to dalo taky davat do jednotlivych souboru a ty pak postupne
cist, ale asi by to bylo pomale.
O to nejde, v novem PHP je chyba, pri otevirani souboru se nekdy soubor smaze...... Uz se to tu jednou probiralo....
Reseni pokud stejne cely soubor nacitas pomoci file() do array:
zapisuj nakonec souboru
pak pouzij array_reverse() a mas to

pokud nenacitas do array tak udelej aby soubor vypadal napr takto:
1radek je text kdo vi ceho|20
dalsi radek zas nevim co|18

kde za textem bude napr znak:| a za nim cislo ktere udava pocet znaku zapsanyho retezce takze se pak muzes vratit kursorem (musis ovsem vzit v potaz velikost cisla (jestli 2znaky nebo vic)) takze pokud das userovi maximalni delku textu 255 znaku tak to cislo ukladej jako: 020 nebo 004 aby jsi vzdy odecetl 3 znaky za cislo...

by Master
jo , uz sem prisel na dalsi moznost a ta mi pripada lepsi


$fp = fopen($fn, "r");
$prispevek .= implode('', file($fn));
fclose($fp);
:) tak to ted nechapu...
tak jsme to asi spatne pochopil nebo nevim
nebo jsem to pochopil spatne ja,..