| Dlaczego pliki zewnętrzne? 
			Chodzi o wykorzystanie plików tekstowych w dwojaki sposób. Jedne z nich potrafią przechowywać dane, nazywamy to płaskimi bazami 
			danych (w odróżnieniu od relacyjnych). Inne przechowują kod 
			skryptów, które mogą być wykorzystywane przez nasze skrypty.
 
			Czytanie treści z zewnętrznych plików tekstowych 
			Aby przeczytać treść pliku tekstowego, należy go otworzyć, służy do 
			tego funkcja fopen().Jako pierwszy parametr podajemy nazwę otwieranego pliku (wraz ze 
			ścieżką, jeśli potrzebne), drugi parametr określa sposób otwarcia 
			pliku:
 r - otwarcie pliku tylko do odczytu,
 w - otwarcie pliku do odczytu i zapisu, 
			zawartość pliku zostaje wykasowana,
 a - otwarcie pliku do zapisu.
 
			W pracy z zewnętrznymi plikami tekstowymi będziemy wykorzystywać 
			tzw. zaczepy. Zaczep to zmienna, która przechowuje działanie funkcji 
			(np. funkcji otwierającej plik tekstowy).  
			Funkcja fread() służy do przeczytania 
			zawartości pliku tekstowego. Ma ona dwa parametry: pierwszy oznacza 
			co czytamy, drugi ile znaków będzie czytanych z pliku.  
			Zanim zaczniemy otwierać i czytać plik zewnętrzny, warto sprawdzić, 
			czy w ogóle oczekiwany plik istnieje. Przydatną będzie tu funkcja
			file_exists(), gdzie parametrem jest 
			nazwa pliku (jeżeli potrzeba wraz ze ścieżką dostępu.  ćwiczenie 10_01 - Czytanie pliku tekstowego 
				
				Należy umieścić na swoim koncie WWW pliki 
				10_01.php i 10_01.txt (do pobrania
				tutaj 10_01.zip)
				Należy uruchomić skrypt, następnie zmienić 
				treść pliku tekstowego 10.01.txt i powtórnie uruchomić skrypt.
				
				Należy (na chwilę) usunąć z dysku plik 
				10_01.txt i  sprawdzić działanie skryptu 10_01.php
				Należy przeanalizować kod pliku 10_01.php Czytanie dłuższych fragmentów plików 
			tekstowych Często zdarza się, że nie wiemy, jaki długi tekst przechowywany 
			jest w pliku tekstowym. W powyższym rozwiązaniu musieliśmy podać 
			liczbę czytanych znaków. Funkcja filesize() 
			zwraca długość tekstu przechowywanego w pliku tekstowym podanym jako 
			parametr tej funkcji.  ćwiczenie 10_02 - Czytanie całego pliku tekstowego 
				
				Należy umieścić na swoim koncie WWW pliki 
				10_02.php i 10_02.txt (do pobrania
				tutaj 10_02.zip)
				Należy uruchomić skrypt, w skrypcie należy 
				zwrócić uwagę na sposób łamania linii tekstu. Zapisywanie do pliku tekstowego Użytkownik strony może zapisać informacje do pliku tekstowego. 
			Zanim jednak przygotujemy odpowiedni skrypt, należy zwrócić uwagę na 
			ustawienie odpowiednich uprawnieñ do pliku tekstowego, do którego 
			użytkownik ma mieć prawo zapisu. Serwery zwykle dają możliwość właścicielowi konta (np. poprzez 
			połączenie ftp) zmieniać atrybuty plików (tzw. chmod). Jeżeli jest 
			to niemożliwe, należy skontaktować się z administratorem serwera, na 
			którym publikuje się skrypty.
 W warunkach domowych (serwery instalowane na komputerze z systemem 
			Windows - patrz Dodatek nr 1) nie trzeba ustawiać szczególnych 
			uprawnieñ do plików tekstowych.
 Aby zapisać do pliku tekstowego należy otworzyć go za pomocą 
			funkcji fopen() z parametrem "a" lub "w". 
			Użycie pierwszego z nich umożliwia dopisanie nowych wartości do 
			pliku. Użycie drugiego "w" powoduje skasowanie dotychczasowej 
			zawartości pliku i umożliwi wpisanie nowej. Funkcją odpowiedzialną za zapisywanie do pliku jest funkcja
			fwrite(). Podajemy dwa parametry: 
			zaczep otwartego pliku tekstowego oraz treść, jaka ma zostać 
			zapisana.  ćwiczenie 10_03 - Licznik odwiedzin strony (rozwiązanie I) 
				
				Należy umieścić na swoim koncie WWW pliki 
				10_03.php i 10_03.txt (do pobrania
				tutaj 10_03.zip)
				Plik 10_03.txt należy umieścić w 
				przygotowanym folderze "pliki"
				Należy uruchomić skrypt, następnie kilka razy 
				odświeżyć stronę.
				Należy przejrzeć zawartość pliku tekstowego 
				oraz skrypt zwracając uwagę na komentarze. ćwiczenie 10_04 - Licznik odwiedzin strony (rozwiązanie II) 
				
				Należy umieścić na swoim koncie WWW pliki 
				10_04.php i 10_04.txt (do pobrania
				tutaj 10_04.zip)
				Plik 10_04.txt należy umieścić w 
				przygotowanym folderze "pliki"
				Należy uruchomić skrypt, następnie kilka razy 
				odświeżyć stronę.
				Należy przejrzeć zawartość pliku tekstowego 
				oraz skrypt zwracając uwagę na komentarze. Porównanie obu rozwiązañ Jak wyglądają zapisy plików tekstowych obu 
			rozwiązañ po kilkukrotnym uruchomieniu każdej ze stron (należy 
			przeglądnąć).W pierwszym rozwiązaniu za każdym uruchomieniu strony zostaje 
			dopisany jeden znak do trybu tekstowego. Wyświetlenie licznika 
			polega na zliczeniu znaków przechowywanych w pliku tekstowym.
 W drugim rozwiązaniu zostaje najpierw przeczytana wartość 
			przechowywana w pliku tekstowym, następnie zostaje zwiększona o 
			jeden, po czym nowa wartość nadpisuje poprzednią w pliku tekstowym.
 Blokowanie dostępu do pliku Może zdarzyć się sytuacja, gdy w tym samym czasie 
			następuje próba zapisania danych do tego samego pliku. Grozi to 
			utratą przechowywanych danych. W tym celu skrypt powinien po 
			otwarciu pliku zablokować go do zapisu przez innych użytkowników. 
			Służy do tego funkcja flock(). Posiada 
			ona dwa parametry, pierwszy z nich to nazwa pliku tekstowego, drugi:1 - blokowanie odczytu,
 2 - blokowanie zapisu,
 3 - zwolnienie blokady
 Jeżeli plik zostanie zablokowany, nastąpi 
			wstrzymanie pracy skryptu, który w tym samym czasie będzie 
			przeprowadzać operację zapisu. Plik tekstowy powinien być blokowany 
			oczywiście przez jak najkrótszy czas.  ćwiczenie 10_05 - Sonda (*) 
				
				Należy umieścić na swoim koncie WWW pliki 
				10_05.php, 10_05a.txt, 10_05b.txt 10_05a.jpg i 10_05b.jpg 
				(do pobrania tutaj 10_05.zip)
				Pliki 10_05a.txt i 10_05b.txt należy umieścić 
				w przygotowanym folderze "pliki"
				Należy uruchomić skrypt i oddać kilka głosów 
				(za i przeciw).
				Należy przeanalizować kod skryptu ze 
				zwróceniem uwagi na sposób blokowania i odblokowywania plików 
				tekstowych.
				Należy dodać trzecią odpowiedŸ (np. nie mam 
				wyrobionego zdania) i tak zmodyfikować skrypt, aby zostały 
				wyświetlone wyniki biorące pod uwagę trzy możliwe odpowiedzi. Znak koñca wiersza Przydatną może okazać się funkcja
			nl2br(); służy do zamiany znaków koñca 
			wiersza (efekt użycia klawisza Enter) na HTML-owe znaczniki <BR>Przykład użycia funkcji:
 
 <?php
 $tresc_ksiegi=nl2br(tresc_ksiegi);
 echo"$tresc_ksiegi";
 ?>
 Zadanie 12 - Księga gości 
				
				Należy umieścić na swoim koncie WWW plik 
				zadanie12.php
				Należy zwrócić uwagę na następujące:- najnowsze wpisy powinny pojawiać się na górze księgi gości,
 - honorowanie użycia klawisza Enter w treści wiadomości
				Przykład działania skryptu można obejrzeć
				
				tutaj (wymagane połączenie z Internetem). Inkludowanie pliku zewnętrznego Innym rodzajem korzystania z zewnętrznych plików 
			tekstowych jest tzw. inkludowanie. W odróżnieniu od poprzedniego 
			sposobu - w plikach inkludowanych możemy zamieszczać kod PHP, który 
			zostanie uruchomiony przez skrypt inkludujący. W jakim celu stosuje się tę metodę?
 1. W plikach zewnętrznych można przechowywać fragmenty kodu, które 
			często wykorzystywane są w różnych miejscach witryny.
 2. Pliki z kodem można przechowywać w katalogu na dysku, do którego 
			nie ma dostępu użytkownik internetowy, w taki sposób chronimy kod 
			PHP, który nie chcemy, aby dostał się w niepowołane ręce.
 Pliki tego typu mają zwykle rozszerzenie
			.inc. Funkcja pozwalająca wczytać pliki 
			zewnętrzne - include() - gdzie 
			parametrem jest nazwa pliku wczytywanego (ewentualnie także ścieżka 
			do tego pliku).   ćwiczenie 10_06 - Wczytywanie plików zewnętrznych 
				
				Należy umieścić na swoim koncie WWW pliki 
				10_06.php i 10_06.inc (do pobrania
				tutaj 10_06.zip)
				Plik10_06.inc należy umieścić w przygotowanym 
				folderze "inc"
				Należy uruchomić skrypt i sprawdzić jego 
				działanie.
				Należy podejrzeć kod znajdujący się w obu 
				plikach i przeanalizować treść skryptów zwracając szczególną 
				uwagę na zamieszczone komentarze.  Zadanie 13 - Umieszczenie stałych elementów witryny w 
			zewnętrznych plikach tekstowych 
				
				Należy przygotować plik o nazwie naglowek.inc 
				i umieścić go w katalogu inc. 
				W pliku należy umieścić kod, który powtarza 
				się na wszystkich przygotowanych do tej pory podstronach. 
				Wszystkie ćwiczenia wykonane do tej pory 
				powinny skorzystać z kodu (inkludować) umieszczonego w pliku 
				nalgowek.inc. |