200 PHP i MySQL dla każdego
Listing 7.10. Odczytanie zawartości pliku tekstowego z usunięciem znaczników HTML
<html>
<head>
<title>Odczyt zawartości pliku tekstowego</title> </head>
<Pody>
<?php
if(!$fd = fopenCtest.txt'. 'r')) exit(“Nie mogę otworzyć pliku test.txt”): IlineNo = 0; while(!feof(tfd)){
$str = fgetss($fd):
$str = str_replace("\n". "<br>". $str); echodlineNo . " $str");
$lineNo++:
>
fclosedfd);
</body>
</html>
Rysunek 7.6.
Efekt działania skryptu usuwającego znaczniki HTML
Ptk Łdyt|a |
ffiidok Przejdź Zakładki Narzędzia Pcmoc |
SillSśl * |
' t§? 3'' |U http://localhost/fidex.php |
zl ©Ul | |
^ Rozpocznij |
przygód... (J Aktualności | |
0 |
2 "tytuł strony
3
5 Pierwszy akapit tekstowy
6 Drugi akapit tekstowy
7 Trzeci akapit tekstowy
8 9
Odczyt pojedynczych znaków z pliku umożliwia funkcja fgetc. Funkcja przyjmuje jeden argument — deskryptor pliku, który będzie odczytywany, oraz zwraca ciąg zawierający pojedynczy odczytany znak. Po jej wykonaniu wskaźnik pliku przesuwany jest o jeden bajt do przodu. W przypadku gdy zostanie osiągnięty koniec pliku, fgetc zwraca wartość false. Skrypt odczytujący zawartość pliku tekstowego test.txt (odpowiednik skryptu 7.8) został zaprezentowany na listingu 7.11. Warto zauważyć, że w tym przypadku nie ma potrzeby stosowania funkcji feof, gdyż funkcja fgetc sama rozpoznaje koniec pliku. Należy również pamiętać, że odczytywanie dużych plików znak po znaku jest metodą nieefektywną i jeśli tylko jest to możliwe w praktycznych zastosowaniach, trzeba tego unikać.