![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 14.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Uruchomiłem na mojej stronie internetowej prostą księgę gości. Działa na zasadzie dodawania do pliku .dat nowych wpisów, a następnie odczytu z tego pliku i wyświetlania na stronie. Problem polega na tym, że nowo dodawane wpisy dopisują się na dole listy, a nie u góry. Prościej mówiąc, chcę aby wyświetlanie działało na zasadzie systemów newsów. Nie wiem co zmienić, by skrypt pobierał dane z pliku .dat od końca do początku, (ew. żeby skrypt zapisywał nowe wpisy na początku pliku - efekt chyba ten sam). Niestety nie pamiętam skąd ściągnąłem ten skrypt, ściągałem ich trochę jednocześnie więc nie jestem w stanie sobie przypomnieć... zamieszczam kody skryptu: część zapisująca do pliku:
część odczytująca z pliku Ten post edytował witu 19.02.2008, 01:17:56 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 712 Pomógł: 23 Dołączył: 27.10.2003 Skąd: z kontowni Ostrzeżenie: (0%) ![]() ![]() |
Poczytaj sobie o fopen() w manualu i o fladze "x".
-------------------- "Coś się kończy, coś się zaczyna." Andrzej Sapkowski
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 14.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
No i poczytałem... wg tego co jest tu: http://php.net.pl/manual/pl/function.fopen.php napisane, " 'X' Tworzy i otwiera plik tylko do zapisu; umieszcza wskaźnik pliku na jego początku." a to mnie przecież nie interesuje. ja mam juz plik, w którym są zawarte wpisy więc jak użyję X to wyskoczy bąd i tak sie dzieje. próbowalem użyć opcji r+ przy zapisywaniu, ale to zastępuje to co bylo w danych linijkach a nie dopisuje...
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 875 Pomógł: 122 Dołączył: 2.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Ja bym zrobił tak: wczytał plik do tablicy za pomocą file" title="Zobacz w manualu PHP" target="_manual potem tablicy zrobił array_reverse" title="Zobacz w manualu PHP" target="_manual i wyświetlił taką tablicę...
OT: Heh... swoją drogą jak zaczynałem się uczyć php to właśnie taka księga gości była moim pierwszym skryptem i pamiętam miałem dokładnie ten sam problem... ![]() ![]() Ten post edytował nowotny 19.02.2008, 01:29:25 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 14.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
hnmmm probowalem zrobić tak jak doradzono tu: http://forum.php.pl/index.php?showtopic=78...si%EAga+go%B6ci ale coś chyba pokręciłem...
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 875 Pomógł: 122 Dołączył: 2.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
hnmmm probowalem zrobić tak jak doradzono tu: http://forum.php.pl/index.php?showtopic=78...si%EAga+go%B6ci ale coś chyba pokręciłem... Może tak, może nie... :/ trudno stwierdzić skoro nic więcej nie napisałeś... |
|
|
![]()
Post
#7
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 712 Pomógł: 23 Dołączył: 27.10.2003 Skąd: z kontowni Ostrzeżenie: (0%) ![]() ![]() |
No a nie możesz użyć fopen() z "x" PODCZAS tworzenia pliku a nie już przy jego odczycie? Wtedy nowo dodawane wpisy będziesz miał na górze pliku.
-------------------- "Coś się kończy, coś się zaczyna." Andrzej Sapkowski
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 14.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
nowotny: no fakt nie napisałem zbyt wiele ale mi się spać chciało
![]() kszychu: ustawiłem przy fopen() parametr X w pliku zapisującym i teraz w ogóle nie zapisuje do pliku... dodano 22.03.2008: udalo mi się rozkminić juz jakis czas temu ale dzisiaj sobie przypomnialem o tym temacie. zamieszczam kod księgi, która działa cudownie ![]() dodałem nawet licznik wpisów i datę ![]() część wyświetlająca:
część dodająca: Kod <!-- plik dodaj.php --> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" > <title>Dodawanie wiadomości</title> </head> <body> <form method="post" action="index.php?id=zapisz"> <div> Imię: <input type="text" name="nick" /><br /> Treść:<br /> <textarea cols="35" name="pole" rows="12"> </textarea> <br /> <input type="submit" value="Wyślij"/> </div> </form> </body> </html> czesc zapisująca:
do pelni szczescia brakuje jeszcze pliku tekstowego ktory przechowuje wpisy: baza.dat , ktorego chmody musimy ustawic na 777. pozdr! Witu Ten post edytował witu 22.03.2008, 00:44:33 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 06:32 |