![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 168 Pomógł: 126 Dołączył: 5.02.2010 Skąd: Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Witam,
jestem w trakcie czytania vademecum, początki dopiero czyli obsługa plików, otwieranie, edycja, zapisywanie itp... ale jakie to ma zastosowanie w praktyce ? Znajomy wspomniał np o JSON, że to właśnie z tego korzysta, z plików tekstowych... ale ja chciałbym to przeczytać w bardziej zrozumiałym języku. Pozdrawiam Szymon |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 433 Pomógł: 64 Dołączył: 29.01.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Pliki tekstowe często traktujesz jak małe bazy danych, agregatory informacji. Zastosowań jest pełno. Co prawda mają one większe branie w desktopowych programach kompilowanych ( rejestr,ini/xml,sqlite ), ale gwarantuję Ci, że natrafisz na setki przypadków, gdy niezbędna będzie obróbka plików tekstowych z poziomu php. Czy to jakieś dane kontaktowe od klienta w formacie csv, czy obsługa małego chatu na stronie, możliwość edycji plików szablonu z poziomu panelu administracyjnego, generowanie arkuszy excel z raportami, zbieranie logów, tworzenie rss'ów... No po prostu dużo tego. Tak samo jak dużo masz różnych form czytania i obróbki owych plików.
A JSON to tylko standard zapisu informacji, zwykłe drzewko, coś jak xml, tylko inaczej pokazane. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 171 Pomógł: 18 Dołączył: 17.04.2006 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Ja do plików tekstowych zrzucam logi użytkowników, tak by nie zaśmiecać bazy. Mechanizm cacheowania również jest na nich oparty. Po prostu najwygodniej trzymać tam informacje, które niepotrzebnie by zajmowały mi miejsce w bazie danych.
Oczywiście jako początki w programowaniu dobrze jest napisać kilka skryptów na nich opartych, np księgę gości, by nauczyć się zapisywać, pobierać filtrować itp. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 168 Pomógł: 126 Dołączył: 5.02.2010 Skąd: Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Witam ponownie, próbuję zrobić jakiś zapis danych z textarea do pliku, no niby działa, ale:
index.php - wyświetla mi zawartość pliku na pierwszej stronie
add.php - formularz textarea
i teraz problem, myślę, że to tutaj: send_form.php
Mianowicie chodzi o brak \n w pliku txt, gdy w tym miejscu $tresc = $_POST['textarea']; zostanie odebrany taki tekst z textarea: Kod To jest jakiś tekst z enterami To w pliku txt otrzymuję Kod To jest jakiś tekst z enterami ale przy próbie jego wypisania w index.php otrzymuję: "?To jest jakiś tekst z enterami39 " Czym jest ta 39 w tym przypadku ? Czemu to nie działa jak należy, gdzie popełniłem błąd ? Ten post edytował Szymciosek 18.04.2012, 07:34:24 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 171 Pomógł: 18 Dołączył: 17.04.2006 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
A od strony kodowej jak podejrzysz źródło, wstawione są zamiast \n znaczniki br?
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 168 Pomógł: 126 Dołączył: 5.02.2010 Skąd: Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Nie wiedziałem jak to wstawić żeby zrobić ten prostokącik:
http://www17.speedy.sh/JsJTY/bez-tytulu.JPG Wykrzacza się po prostu... Edit: Dodam, że w szkole mam tutaj IE6, ale na nowej operze jest to samo, tyle, że nie widzę tego krzaczka... Ten post edytował Szymciosek 18.04.2012, 08:04:38 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 171 Pomógł: 18 Dołączył: 17.04.2006 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Ten prostokącik to znak nowej linii. Wygląda na to, że funkcja nl2br nie zamienia \n na znaczniki htmlowe. Ogólnie taka rada, zainstaluj sobie np Notepad++
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 168 Pomógł: 126 Dołączył: 5.02.2010 Skąd: Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Mam go tutaj i to właśnie w nim piszę te skrypty, a plik txt stworzony został sam ze skryptu php... to i tak nie zmienia faktu, że nie działa
EDIT: coś z tym plikiem txt chyba musi być nie tak, skoro podając mu gotowego stringa wszystko ładnie się wyświetla ? Ten post edytował Szymciosek 18.04.2012, 08:10:42 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 171 Pomógł: 18 Dołączył: 17.04.2006 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Ogólnie ja nigdy nie stosowałem przy odczycie z pliku funkcji fpassthru.
Jeżeli użyjesz standardowo To będzie działać bez problemu. Zapoznaj się również z file_ get_ contents oraz file_ put_ contents |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 1 168 Pomógł: 126 Dołączył: 5.02.2010 Skąd: Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Witam ponownie, owszem przykład wyżej działa z fread(), ale teraz jest inne pytanie
mam coś takiego tutaj na laptopie, wszystko dzieje się na serwerze lokalnym i przeglądarce IE6, mam fwrite($plik, "dupa \r\n"); i owszem znosi mi to w pliku txt linijkę niżej, a w szkole jak robiłem to wystarczyło tylko fwrite($plik, "dupa \n"); Jaka jest różnica między \r\n a samym \n ? I czemu tu działa inaczej i tam inaczej ? |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 433 Pomógł: 64 Dołączył: 29.01.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Jaka jest różnica między \r\n a samym \n ? I czemu tu działa inaczej i tam inaczej ? Z tego, co pamietam to to zalezy od systemu operacyjnego i zeby wszedzie sie poprawnie wyswietlalo zaleca sie stosowanie \r\n. Sa to mniej wiecej te same znaki oznaczenia nowej linii. //EDIT tu masz cala bajke: http://en.wikipedia.org/wiki/Newline Ten post edytował prowseed 20.04.2012, 23:53:26 |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 1 568 Pomógł: 192 Dołączył: 7.03.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Zainteresuj się funkcją file, idealna do przetwarzania danych
Ten post edytował potreb 21.04.2012, 00:03:53 |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 1 168 Pomógł: 126 Dołączył: 5.02.2010 Skąd: Świdnica Ostrzeżenie: (0%) ![]() ![]() |
mam taki plik txt
Kod Szymon Marcin Patryk Patrycja Martyna Monika Kamil Grzegorz Powinno być 10 linijek i taki php:
ale teraz tak: 1) Dobrze rozumiem, że FILE_IGNORE_NEW_LINES oraz FILE_SKIP_EMPTY_LINES ominie mi puste linie w tekście tak jak jest przerwa między Grzegorz a Powinno ? 2) foreach wiem, ale jakoś dziwnie zadziałał ten warunek, bo jeśli dam mu tylko if($line != "\r") to działa też, jeśli dam if($line != "\r" && $line != "\n") to również działa, ale jeśli zrobię if($line != "\r" || $line != "\n") to przestaje to działać, a wg tego co mi wiadomo to właśnie w takim przypadku powinno działać z || czyż nie ? 3) Czy w ogóle takie coś jest poprawne składniowo czy da się łatwiej wyrzucić z tekstu puste linie żeby nie były odczytywane przez przeglądarkę, ale fizycznie istniały w pliku ? Chodzi o to, że np księga gości dodaje mi NICK oraz TREŚĆ WPISU i teraz nie chciałbym żeby to wszystko było w linie czyli coś w stylu: Marcin to jest jego wpis Mateusz a to jest wpis Matiego itd... już wiem jak rozdzielić wpisy od imion itd, ale teraz doszło mi do tego file() jak to polecił przedmówca. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.08.2025 - 00:11 |