![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 11.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
witam
napisałem skrypt php i ma on za zadanie dopisywac kolejne linijki tekstu do pliku *.txt. problem w tym że nie wiem co zrobic aby skrypt pisał od nowej linijki a nie na koncu ostatniej. oto kod: { $top=fopen("top_download.txt", "a+t"); $do_zapisu="\\r\\n"."$_GET[fileid];42;$opis"; fwrite($top,$do_zapisu); fclose($top); } ponoć \r\n ma powodować przejście do nowej linijki w pliku txt ale tak sie nie dzieje. Jest ono dopisywane jak zwykły tekst: blabla\r\nblabla co zrobic aby pisało od nowej linijki?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) dziękuje za pomoc Kamil |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 11.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
thx
działa! |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 21.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Wybacz, że się dokleję ale mam podobny problem a rozwiazanie coś mi nie idzie. Otóż mam problem z zapisywaniem do plików na stronie Kod http://www.laizsme.edu.pl/~jacus/formularz/zapis.php potrzebuje żeby zapisywało za każdym razem do następnego wiersza a nie kasowało mi pierwszego wiersza i zapisywało na nowo. kod pliku zapis2.php Kod <?php $a = 'login.txt'; $b = $_POST[login]; if (is_writable($a)) { if (!$a = fopen($a, 'w+')) { echo "Nie mogę otworzyć pliku ($a)"; exit; } if (fwrite($a, $b) === FALSE) { echo "Nie mogę zapisać do pliku ($a)"; exit; } echo "Sukces, zapisano login do pliku ($a)"; fclose($a); } else { echo "Plik $a nie jest zapisywalny"; } $c = 'haslo.txt'; $d = $_POST[haslo]; if (is_writable($c)) { if (!$c = fopen($c, 'w+')) { echo "Nie mogę otworzyć pliku ($c)"; exit; } if (fwrite($c, $d) === FALSE) { echo "Nie mogę zapisać do pliku ($c)"; exit; } echo "Sukces, zapisano haslo do pliku ($c)"; fclose($c); } else { echo "Plik $c nie jest zapisywalny"; } ?> login ma zapisywać do pliku login.txt a hasło do haslo.txt. |
|
|
![]()
Post
#5
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
w kodzie masz tak: fopen($c, 'w+')
a teraz zajrzyj do manuala http://pl.php.net/manual/pl/function.fopen.php i przeczytaj sobie co robi w+. a potem doczytaj co powinno byc, by nie obcinalo a dodawalo ps: i uzywaj wlasciwego bbcode!!! |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 21.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
a,w,r,x - nic nie działa tak jak ja chce.
możesz rozwinąc?: "ps: i uzywaj wlasciwego bbcode!!!" |
|
|
![]()
Post
#7
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat a,w,r,x - nic nie działa tak jak ja chce. nie moze byc. a mi sie wydaje ze wlasnie "a" dopisuje na koniec pliku:Cytat umieszcza wskaźnik pliku na jego końcu Pewnie cos źle robisz. pokaz kod po poprawkach tym w razem w dobrym bbcode Cytat możesz rozwinąc?: ty uzywasz bbcode code do osadzenia kodu php. Do takiego kodu uzywa sie bbcode php
"ps: i uzywaj wlasciwego bbcode!!!" |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 21.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
tak, masz racje, a osadza na końcu pliku tyle, że w tym samym wierszu a nie w następnym.
a możesz mi wyjaśnić jak się zmienia na bbcode php naczym to polega, i czym się różni od bbcode code bo nie mam pojęcia i na wikipedi też nie znalazłem. |
|
|
![]()
Post
#9
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat tak, masz racje, a osadza na końcu pliku tyle, że w tym samym wierszu a nie w następnym. ba... podpiales sie do cudzego topicu argumentujac iz jest bardzo podobny do twojego problemu. Problemem w tym topicu byl brak nowych linii w pliku, ale problem ten zostal rozwiązany. aty sie podpinasz i nawet nie przeczytales dwoch postow w tym topicu, ktore mowią co i jak. Mamy sie pogniewac?NIgdzie w Twoim kodzie nie widze \r\n. co to \r\n? to juz doczytaj w tym topicu. Cytat a możesz mi wyjaśnić jak się zmienia na bbcode php naczym to polega, i czym się różni od bbcode code bo nie mam pojęcia i na wikipedi też nie znalazłem. to jest kod php wstawiony w bbcode php:
Wiecej info tu: Temat: Tematyka i zasady panujace na forum Przedszkole oraz chyba w regulaminie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 21.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
a nie podobny mam problem ?
wszystkie posty przeczytałem i sporo innych tematów. tyle, że nie wiem jak mam użyć tego \r\n i gdzie to dopisać (IMG:http://forum.php.pl/style_emoticons/default/mad.gif) Kod <?php
$a = 'login.txt'; $b = $_POST[login]; $fwrite = "\r\n"; // $_POST[s].$_POST[s2].".php"; //."<br>" if (is_writable($a)) { if (!$a = fopen($a, 'a+t')) { echo "Nie mogę otworzyć pliku ($a)"; exit; } if (fwrite($a, $b) === FALSE) { echo "Nie mogę zapisać do pliku ($a)"; exit; } echo "Sukces, zapisano login do pliku ($a)"; fclose($a); } else { echo "Plik $a nie jest zapisywalny"; } $c = 'haslo.txt'; $d = $_POST[haslo]; if (is_writable($c)) { if (!$c = fopen($c, 'w+')) { echo "Nie mogę otworzyć pliku ($c)"; exit; } if (fwrite($c, $d) === FALSE) { echo "Nie mogę zapisać do pliku ($c)"; exit; } echo "Sukces, zapisano haslo do pliku ($c)"; fclose($c); } else { echo "Plik $c nie jest zapisywalny"; } ?> |
|
|
![]()
Post
#11
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat a nie podobny mam problem ? podpbny, tylko ze ty wogole z tego topicu nie wziales nic, co do tyczy problemuPrzeciez masz pokazane, ze koles \r\n dodaje do tekstu ktory ma wpisac do pliku. \r\n oznacz koniec lini. jak chcesz miec po loginie koniec linii to musisz go tam wstawic I wyraźnie mowie uzywaj bbcode php a nie code(IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif) !
Widzisz roznice w wygladzie kodu? Twoj to code moj to php. |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 21.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Załapałem co z tym \r\n.
Do czego jest samo \r i samo \n? bo probowalem z \n i nie dzialalo mi z braku a+t Jedyną rożnicę jaką widzę to zmiana = na - . Ale jeszcze nie mogę znaleźć na tej stronce: Kod http://pl.php.net/manual/pl/function.fopen.php co oznacza a+t ? |
|
|
![]()
Post
#13
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Ale jeszcze nie mogę znaleźć hmmm.... w takiej bajce jak "Mulan" (nie wiem czy ogladales) byl tekst: "Co ty, po chinsku nie kumasz?"To ja mam ci napisac: "Co ty, po polsku nie kumasz?" (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Przeciez tam masz po polsku napisane: Cytat Notatka: Różne rodziny systemów operacyjnych stosuja rózne konwencje końca lini. Kiedy zapisujesz plik tekstowy i chcesz wstawić łamanie lini, musisz użyć poprawnych dla twojego systemu operacyjnego znak(ów) końca lini. Systemy bazujące na Uniksie używają \n jako znaku końca lini, systemy bazujące na Windowsie używają \r\n jako znaków końca lini, a systemy Macintosh używają \r jako znak końca lini. Jeśli użyjesz nieprawidłowego końca lini do zapisu pliku, możesz zaobserwować, w innych aplikacjach otwierając ten plik, że "wygląda on zabawnie". Windows oferuje flagę ('t') konwertującą tryb tekstowy, która przezroczyście przekłada \n na \r\n kiedy pracujesz z plikiem. Dla kontrastu, możesz także uzyć 'b' aby wymusić tryb binarny, wtedy nie będzie konwertować twoich danych. Aby użyć tych flag, wstaw 'b' lub 't' jako ostatni znak w parametrze tryb. Domyślnie tryb konwersji zależy od SAPI i wersji php jakiej używasz, więc namawiamy aby zawsze podawać stosowną flage w celu przenośności. Powinieneś użyć trybu 't' jeśli pracujesz ze zwykłymi plikami tekstowymi (plain-text)i używasz \n do ograniczenia konców lini w twoim skrypcie, ale wymagasz aby twój plik był czytelny w aplikacjach takich jak notatnik. Powinieneś uzyć 'b' w każdym innym przypadku. Jeśli nie podasz flagi 'b' kiedy pracujesz na binarnych plikach, możesz doświadczyć dziwnych problemów z twoimi danymi, włączając uszkodzone pliki graficzne i dziwne problemy ze znakami \r\n. Notatka: Dla przenośności, bardzo zalecane jest użycie zawsze flagi 'b' kiedy otwierasz pliki za pomocą fopen(). Notatka: Ponownie, dla przenośności, jest również bardzo zalecane abyś, przepisał swój kod, który używa lub polega na trybie 't' tak aby używał poprawnego końca lini oraz trybu 'b'. Ladnie, prosto i po polsku ps: ta tytułowa "Mulan" była Chinką |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 21.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
LOL nie oglądam bajek bo nie mam czasu.
A tego nie czytałem... Wielkie dzięki za pomoc. Mam jeszcze takie pytanie, w tym momencie zapisuje w kolejnych wierszach tzn 1,2,3,4 itd a co i gdzie trzeba dopisać żeby zapisywało nowe wpisy w pierwszym wierszu tak żeby najstarszy wpis był na samym dole, przeciwnie do tego co jest teraz? |
|
|
![]()
Post
#15
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat a co i gdzie trzeba dopisać żeby zapisywało nowe wpisy w pierwszym wierszu tak żeby najstarszy wpis był na samym dole, przeciwnie do tego co jest teraz? To juz nie jest takie proste.... ale trudne tez nie.1) Pobierasz zawartosc pliku do zmiennej (file_get_contents). 2) Dopisujesz do początku zmiennej nowa wartosc (zwykle lączenie stringow), 3) zapisujesz zmienna do tego pliku (file_put_contents) (jak nie masz php5 to poszukaj w manualu odpowiednikow dla php4: http://pl.php.net/manual/pl/function.file-put-contents.php) |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 21.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Faktycznie banalne to nie jest, niestety.
Może mi nie będzie potrzebne. Jeszcze raz dzięki, pozdro |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 116 Pomógł: 0 Dołączył: 14.01.2004 Skąd: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
A te zapisywanie na poczatku pliku do czegos konkretnie ci jest potrzebne? jesli tylko po to, zeby najstarsze wpisy wyswietlac na samym dole strony, to wystarczy zastosowac array_reverse(); aby wyswietlic wpisy z konca pliku wyzyej niz te z poczatku (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 21.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Mnie to jest obecnie do niczego nie potrzebne ale potrzebuje żeby tak było, najnowszy wpis na samej górze w pliku txt.
Jak się posłużyć tym array_reverse()? jak to zastosować? tylko krok po kroku proszę (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 340 Pomógł: 0 Dołączył: 7.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
Nie czytałem od początku tematu (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) , ale jak zapisujesz dane na końcu pliku to żeby ostatni wpis był pierwszym, to trzeba zrobić na przykład tak:
array_reverse Ten post edytował lopik 12.12.2006, 15:37:14 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 14:45 |