Autor | Zpráva | ||
---|---|---|---|
Skat Profil * |
#1 · Zasláno: 4. 7. 2012, 17:52:39
$news = "./data/news.txt"; $linkaa= "$novinka"; $ccc = fopen ($news, "a"); fwrite ($ccc, $linkaa); fclose ($ccc); |
||
juriad Profil |
#2 · Zasláno: 4. 7. 2012, 17:58:37
Když si rozmyslíš, jak funguje uložení souborů na disku, tak příjdeš na to, že je možné něco připsat na konec, ale určitě ne na začátek.
Jedinou možností je přečíst soubor a zapsat ho znovu s těmi několika řádkami na začátku. Občas ti nevadí zapisovat na konec, protože existuje funkce fseek. Mimochodem, zkusil jsi hledat na zdejší diskusi? |
||
Skat Profil * |
#3 · Zasláno: 4. 7. 2012, 18:11:54
Jo hledal a našel jsem opačný problém...
Nešlo by teda vypsat ten soubor od konce? (ne znaky, ale řádky) |
||
Joker Profil |
#4 · Zasláno: 4. 7. 2012, 18:19:11
Skat:
Jinak zápis na začátek souboru se dělá tak, že se celý soubor načte, smaže se jeho obsah, pak se tam zapíše nový obsah a potom zase ten původní. Vypsat soubor od konce samozřejmě také jde, načíst ho celý po řádcích do pole a to pak vypsat od posledního prvku. |
||
Keeehi Profil |
#5 · Zasláno: 4. 7. 2012, 20:13:09
Skat:
Vypsat soubor obráceně po řádcích není nic složitého $lines = file('./data/news.txt'); // Toto načte soubor do pole po řádcích for ( $i = count($lines) ; $i > 0 ; --$i ) { // projití pole od konce echo $lines[$i-1]."<br />\n"; // vypsání řádků } |
||
Časová prodleva: 3 dny
|
|||
Skat Profil * |
#6 · Zasláno: 7. 7. 2012, 15:02:57
Keeehi:
Zkouším to, ale pořád je to stejně, nepatří k tomu ještě něco, třeba deklarace pole? |
||
Alphard Profil |
#7 · Zasláno: 7. 7. 2012, 15:34:29
Vypadá to kompletně. Vypisuje vám to nějaké chyby? Co to dělá? Zamyslete se, jestli byste z podobného popisu problému sám něco (v jiném oboru) odhadl.
|
||
Skat Profil * |
#8 · Zasláno: 7. 7. 2012, 18:20:59
Chyby to nevypisuje, řádky se pořád zobrazují tak, jak jsou v textovém souboru...
|
||
Alphard Profil |
#9 · Zasláno: 7. 7. 2012, 18:28:04
Pak jedině zjistit, jestli funkce file() dokáže správně identifikovat řádek a případně ji nahradit pomocí explode() nebo preg_split().
|
||
Časová prodleva: 12 let
|
0