Rozdział 7. ♦ System plików 199
Rozdział 7. ♦ System plików 199
Rysunek 7.4.
Przykładowy efekt działania skryptu odczytującego zawartość pliku tekstowego
V* ' | i-i Wtp://loc«lhost/mdex.php 3
^ Rozpoarlj przygód... O Aktualności
Pierwsza linia Druga linia Trzecia linia Czwarta linia Piąta linia
Rysunek 7.5.
Brak znaczników końca linii powoduje, że cała treść pliku jest wyświetlana w jednym wierszu
Plik Edycja Widok Przejdź Eakladki Harzędzia Pomo£
- 8 j © I U http://locaho5t/index.php 3
^ Rozpocznij przygód.., O Aktualności
Pierwsza linia Druga linia Trzecia linia Czwarta linia Piąta linia
Tym samym po każdym odczytaniu jednego wiersza tekstu wskazuje on początek kolejnego wiersza. Po odczytaniu wszystkich wierszy wskaźnik znajduje się na końcu pliku, co wykrywa funkcja feof.
Jeżeli spodziewamy się, że w pliku, z którego będziemy odczytywać dane, znajdują się znaczniki HTML, które są nam niepotrzebne, możemy do odczytu danych zamiast fgets wykorzystać funkcję fgetss. Jej wywołanie ma schematyczną postać: fgetss(.deskryptor. Hel. tagsl)
gdzie deskryptor to deskryptor pliku zwrócony przez wywołanie funkcji fopen, i le to określenie maksymalnej liczby znaków do odczytu, a opcjonalny parametr tags określa znaczniki, które nie mają być usuwane. Jeśli mamy na przykład plik test.txt zawierający kod HTML z listingu 7.9, to wykonanie skryptu przedstawionego na listingu 7.10 spowoduje wyświetlenie w przeglądarce tekstu widocznego na rysunku 7.6 (w celach demonstracyjnych poszczególne wiersze zostały ponumerowane, odpowiada za to zmienna 1 i neNo). Usunięte zostaną bowiem wszystkie znaczniki HTML.
Listing 7.9. Przykładowy plik zawierający znaczniki HTML
<html>
<head>
<title>Tytuł strony</title> </head>
<body>
<p>Pierwszy akapit tekstowy</P> <p>Drugi akapit tekstowy</P> <p>Trzeci akapit tekstowy</P> </body>
</htm1>