Ukladanie dát na začiatok súboru PHP

Programovacie jazyky, rady, poradňa...
.:M4jco:.
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 442
Registrovaný: 01 máj 2007, 13:07
Bydlisko: Bassline lover
Kontaktovať používateľa:

Ukladanie dát na začiatok súboru PHP

Príspevok od používateľa .:M4jco:. »

Zdravím

Už sa dlhšiu dobu snažím vyriešiť problém ako doplniť akýkolvek obsah na začiatok dajme tomu textového súboru pomocou php. Je funkcia "a" ktorá do súboru síce zapíše, ale zapíše len na koniec súboru, a je funkcia "w" ktorá prepíše aktuálne data tými novými ale nenašiel som absolutne nič, čo by popisovalo alebo kde by sa riešil tento problém, a tak sa obraciam na skúsenejších uživateľov. Díky :wink:
Nadeo
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2202
Registrovaný: 04 nov 2006, 19:38
Bydlisko: BA/LV
Kontaktovať používateľa:

Príspevok od používateľa Nadeo »

Nacitat subor do premennej , vymazat subor, zapisat nove data , zapisat stare stare data(tie ulozene)
napr...
programator
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 475
Registrovaný: 18 apr 2005, 8:31
Bydlisko: Papua new Guinea
Kontaktovať používateľa:

Príspevok od používateľa programator »

Alebo data zapisovat do suboru na koniec a potom od konca citat dany subor...
.:M4jco:.
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 442
Registrovaný: 01 máj 2007, 13:07
Bydlisko: Bassline lover
Kontaktovať používateľa:

Príspevok od používateľa .:M4jco:. »

Nadeo: dík, tvoj nápad sa mi páči ale určite sa to dá urobiť aj jednoduchšie.

programator: Ako spravím aby sa ten súbor načítaval odzadu? Napadlo ma to dať do array a potom mu dať reverse vlasnosť ale možno to pojde aj inak.
programator
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 475
Registrovaný: 18 apr 2005, 8:31
Bydlisko: Papua new Guinea
Kontaktovať používateľa:

Príspevok od používateľa programator »

Napriklad pomocou funkcie file (http://php.net/manual/en/function.file.php) nacitas obsah suboru do pola (je to pole vsetkych riadkov suboru), ktore potom jednoducho reverzne vypises...
gwixt
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3912
Registrovaný: 24 sep 2005, 16:50
Bydlisko: Trash-Can

Príspevok od používateľa gwixt »

"programator" a co to ma spolocne s tym ze chce zapisovat na zaciatok suboru??

majco: asi jednoduchsia ako pisal nadeo to nepojde
nasiel som nieco taketo ... ale je to v podstate to co pisal nadeo

Kód: Vybrať všetko

1 	  <?php
2 	 // your new data + newline
3 	 $new_line = 'some new data here'."n";
4 	 // the filepath
5 	 $file = 'temp/file.txt';
6 	 // the old data as array
7 	 $old_lines = file($file);
8 	 // add new line to beginning of array
9 	 array_unshift($old_lines,$new_line);
10 	 // make string out of array
11 	 $new_content = join('',$old_lines);
12 	 $fp = fopen($file,'w');
13 	 // write string to file
14 	 $write = fwrite($fp, $new_content);
15 	 fclose($fp);
16 	 ?>
.:M4jco:.
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 442
Registrovaný: 01 máj 2007, 13:07
Bydlisko: Bassline lover
Kontaktovať používateľa:

Príspevok od používateľa .:M4jco:. »

Díky za radu, skúsil som to podla teba ale nejako to nefunguje. Pozri sa sám:

Kód: Vybrať všetko

$obsah = $_POST['obsah'];   //to je ten obsah ktorý sa načítava z textového pola
$nick = $_POST['nick'];
$file = "../kategorie/hlavna.txt"; //tu si otvorím ten súbor kde ukladám data
$staryobsah = file($file); //tu som si zadefinoval tu premennu stary obsah
array_unshift($staryobsah,$obsah); 
$new_content = join('',$staryobsah); //tento riadok by mal byť niečo na spôsob že sa nové data vpíšu k starým, nie?
$Saved_File = fopen($file, 'w');
if ($_POST['hlavna'])
fwrite($Saved_File, nl2br("<br /><hr>".$nick . date(' Y-m-d')."<br />".$staryobsah) ); // tu už ako výstup som použil premennu staryobsah kde by mal byť uložený nový aj ten starý obsah
Som v PHP začiatočník, a tak sorry že sa pýtam na každu blbosť, ale chcem mať v tom jasno aby som mohol potom pokračovať dalej.
gwixt
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3912
Registrovaný: 24 sep 2005, 16:50
Bydlisko: Trash-Can

Príspevok od používateľa gwixt »

a co to nerobi? vyzera to ok

Kód: Vybrať všetko

$new_content = join('',$staryobsah); //toto len spravi z pola jeden dlhy string .... v podstate pospaja jednotlive prvky pola dokopy
.:M4jco:.
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 442
Registrovaný: 01 máj 2007, 13:07
Bydlisko: Bassline lover
Kontaktovať používateľa:

Príspevok od používateľa .:M4jco:. »

Vypíše sa len zadaný nick a dátum, obsah je úplne ignorovaný a vypíše to namiesto neho slovo "Array" a ked chcem napísať ďalší text tak sa prekryje s tým stávajúcim.

Kód: Vybrať všetko

Nick 2008-10-15
Array
Edit
Už to funguje! Mal som len chybu v tom že som volal zlú premennú...už to všetko ide ako má...díky ti moc :wink: fakt
gwixt
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3912
Registrovaný: 24 sep 2005, 16:50
Bydlisko: Trash-Can

Príspevok od používateľa gwixt »

akurat som si vsimol ze si vypisoval $staryobsah a nie $new_content
mal som si to vsimnut hned :oops:
Napísať odpoveď