[PHP] Tryb fopen. Jak zrobić aby tryb r+ dodawał tekst?


(Marcin Sz1998) #1

Witam. Nie będę przedstawiał sprawy. Gdy w pliku .php mam tak:

$NazwaPliku = "item.txt";

$UchwytPliku = fopen($NazwaPliku, "a+");

To jak z gry wysyłam (bo to jest połączone z grą) tekst to jest wszystko dobrze ale KOLEJNY WYSŁANY TEKST dodaje na końcu. Ja chcę aby najnowszy tekst był na górze (czyli żeby te najstarsze były na dole), szukałem w googlach tych trybów i znalazłem taką fajną stronkę: http://www.ireneuszpolec.net/?p=459 i pisze że a i a+ w nazwie "dodawanie" czyli dodaje, jak dałem r+ to pierwszy wpis był dobrze lecz jak wysłałem już drugi to drugi usuwał pierwszy wpis.

Proszę o pomoc. Chcę taki tryb jak a+ tylko żeby było "Dodawanie zawartości do pliku na samym jego POCZĄTKU i odczyt. Jeżeli nie istnieje próba jego utworzenia." Bo a+ to: "Dodawanie zawartości do pliku na samym jego KOŃCU i odczyt. Jeżeli nie istnieje próba jego utworzenia."


(adpawl) #2

r+ bez tworzenia pliku x+ z tworzeniem

-manual twoim przyjacielem http://php.net/manual/en/function.fopen.php


(Marcin Sz1998) #3

Umiesz czytać?? "jak dałem r+ to pierwszy wpis był dobrze lecz jak wysłałem już drugi to drugi usuwał pierwszy wpis."

r+ nie. ;/


(Grzelix) #4

http://www.kess.snug.pl/?sid=10&pid=19


(Marcin Sz1998) #5

grzelix to nie to... Czy wy na tym forum umiecie czytać..?


(adpawl) #6

A czy Ciebie ktoś kultury nauczył?

Czy coś stoi na przeszkodzie np. w wykorzystaniu file_exists albo połączeniu fread i fwrite albo przejściu na file_get_contents/file_put_contents ?


(ra-v) #7

A nie chodzi czasem o to co adpawl podesłał tylko że "w+"?


(Grzelix) #8

@Marcin_xD owszem potrafimy czytać i dużo więcej. Natomiast jak napisał @adpawl trochę kultury i szacunku z twojej strony na pewno by się zaszkodziło.

Ja nie lubię się rozpisywać ale widzę że wskazanie drogi dla Ciebie jest nie wystarczające, więc muszę dodać kilka słów komentarza.

  1. http://www.kess.snug.pl/?sid=10&pid=19

Przejrzałeś cały wpis do końca? Ostatni przykład pokazuje to co chcesz i nie jest to tryb 'r+'

  1. Link znalazłem w google w kilka sekund, a ile ty czasu spędziłeś w poszukiwaniu odpowiedzi na Twój problem (po za nie uprzejmym odpisywaniem na forum).

  2. Wskazany wpis jest w języku polskim, co wskazuje że jest co najmniej 10 razy więcej wpisów w języku angielskim.

  3. Manual http://php.net/manual/en/function.fopen.php w części parameters masz tabelkę mode sprawdziłeś empirycznie jak działają przedstawione tam tryby.

Ostatecznie można też osiągnąć to co chcesz w sposób łopatologiczny na kilka sposobów, ale na razie pasowało by przetestować metody dostępne w języku.


(Marcin Sz1998) #9

No trudno... Ciężko na tym forum nie wiem jak w innych działach ale w tym uzyskać dobrą odpowiedź... Na tej stronie co podałeś byłem i czytałem wszystko, używałem wszystkich trybów.. Eh nie potrzebuję już Waszej pomocy.


(Copycona) #10

A ja mimo to się wypowiem. Wykonałem taki test:

<?php= array('rt', 'r+t', 'wt', 'w+t', 'at', 'a+t', 'xt', 'x+t');