[ Pobierz całość w formacie PDF ] .Nie jest to efektywny sposób, ale pokazuje ideę takiego licznika.W skrypcie tymsprawdzamy za pomocą funkcji is_file() czy istnieje plik śladu.Jeżeli plik ten istnieje, jego kolejne linie sąodczytywane i analizowane.Każda linia zawiera pełną ścieżkę dostępu do skryptu, znak tabulacji i wartośćlicznika.Linia taka jest dzielona przy pomocy funkcji explode() na nazwę skryptu i wartość licznika a następniewartości te są zapisywane w tablicy asocjacyjnej.Jeżeli chcesz, możesz użyć tej tablicy do wyświetlenialiczników dla wszystkich stron witryny a nie tylko bieżącej strony.Po wypełnieniu tablicy uaktualniany jestlicznik odwołań do bieżącej strony (rozpoznawanej przy użyciu zmiennej globalnej PHP $PATH_TRANSLATED) iwartość ta jest przypisywana do zmiennej $aPageAccessCount.Na koniec cała tablica jest zapisywana do plikuśladu.Na wydruku 4.2 pokazane jest strona demonstrująca jak łatwo można użyć tego licznika.Jeżeli szukasztakiego mechanizmu do twojej witryny, należy pamiętać, że jest to bardzo nieefektywne rozwiązanie.Bardziejefektywne jest odczytywanie i zapis tylko jednej wartości a nie całego pliku.Wydruk 4.2.Użycie skryptu z wydruku 4.1Strona testowa 1Strona ta była oglądanarazy.Użycie gniazdPHP umożliwia dostęp do surowych gniazd TCP/IP, za pomocą których można komunikować się z innymiaplikacjami za pomocą dowolnego protokołu.Niektóre z bardziej znanych protokołów TCP/IP, na przykładHTTP, POP3 i SMTP posiadają swoje implementacje w PHP, więc nie musisz w tych przypadkach używaćsurowych gniazd.Na wydruku 4.3 pokazano sposób dostępu za pomocą gniazd do serwera quotd, który zwraca cytat dnia.Protokół quotd jest bardzo prosty.Po zestawieniu połączenia serwer wysyła strumień danych tekstowych anastępnie zamyka połączenie.Z perspektywy klienta wystarczy jedynie zestawić połączenie, odczytać dane anastępnie zakończyć połączenie.PHP Kompendium wiedzy59Wydruk 4.3.Użycie gniazdPrzykład wykorzystania serwera QOTD: Użycie gniazd w PHPUżycie potokówTak jak w przypadku gniazd, potoki są traktowane jak kolejny uchwyt pliku.Jedyną różnicą pomiędzyplikiem i potokiem jest to, że potok jest jednokierunkowym strumieniem danych.Potok może być użyty doodczytu danych wyjściowych z programu lub skryptu.Na wydruku 4.4 pokazane jest użycie potoku do odczytaniawyniku zapytania do polecenia whois, które jest dostępne w większości systemów Unix.Ten prosty skrypt iformularz pozwalają na wprowadzenie zapytania dla whois.Skrypt ten ilustruje również częstą praktykę używaniatego samego skryptu do wyświetlenia formularza i przetworzenia jego danych.Wydruk 4.4.Skrypt przetwarzający zapytanie whoisWhois: Uzycie potoków w PHPWprowadz zapytanie whois:Rozdział 4 Operacje na plikach60Klasa FileW poprzednim rozdziale wspominaliśmy, że do PHP dostępne są świetne narzędzia dodatkowepochodzące z różnych zródeł.Klasa File dostępna z WebMasters Net (http://www.theWebMasters.net) jestprzydatnym narzędziem, szczególne wtedy, gdy twoja aplikacja intensywnie wykorzystuje pliki.Klasa ta zawierawiele często używanych funkcji PHP operujących na plikach i hermetyzuje kontrolę błędów, dzięki czemumożesz więcej czasu poświęcić logice aplikacji zamiast zajmować się pisaniem podstawowych konstrukcjikontroli błędów.Na wydruku 4.5 pokazany jest skrypt wyświetlający nazwy wszystkich plików w bieżącym katalogu wpostaci łączy.Gdy użytkownik kliknie łącze, skrypt zamieszczony na wydruku 4.6 wyświetla jego zawartośćużywając celu klasy File do odczytania jego zawartości.Wydruk 4.5.Użycie klasy File do wyświetlenia zawartości bieżącego kataloguUżycie klasy FilePoniżej znajduje się lista plików w bieżącym katalogu.Kliknij nazwę pliku aby zobaczyć ich zawartość.get_files( "." );for ( $nIndex = 0; $nIndexWydruk 4.6.Wyświetlenie zawartości pliku za pomocą klasy FileUżycie klsy Fileread_file( $fn );print( "" );print( nl2br( htmlentities( $aFileCont ) ) );print( "" );?>PodsumowanieZdecydowanie się na użycie plików w aplikacji opartej na WWW jest jedną z krytycznych decyzji w fazieprojektowania aplikacji.Noe wszystkie aplikacje używają plików, ale aby efektywnie korzystać z różnych typówstrumieni danych, na przykład gniazd i potoków, należy poznać sposoby korzystania z uchwytów plików i funkcjioperujących na plikach.Rozdział ten zawiera nie tylko opis podstawowych operacji na plikach i systemie plików,ale również przedstawia dodatkową klasę ułatwiającą operacje na plikach.Opis operacji na plikach zawarty wtym rozdziale oraz opis formularzy zamieszczony w rozdziale poprzednim stanowią odpowiednią podstawę donastępnego rozdziału, Wysyłanie plików przez formularz.PHP Kompendium wiedzy61Rozdział 5.Wysyłanie plików przezformularzWstępPoprzednie dwa rozdziały omawiały niezbędne podstawy dla tego rozdziału, ponieważ wysyłanie plikówwymaga poznania zarówno formularzy HTML, jak i funkcji systemu plików.Obsługa przesyłania plików w PHPjest bardzo łatwa.PHP posiada wbudowany mechanizm pozwalający na odebranie pliku wysłanego z przeglądarkizgodnej z RFC 1867.Większość nowoczesnych przeglądarek jest zgodnych z tym dokumentem, ponieważ zostałon włączony do standardu HTML 3.2.Jeżeli pozwolisz użytkownikom na wysyłanie plików za pomocą formularza, musisz rozważyćdopuszczalne typy plików oraz ich wielkości
[ Pobierz całość w formacie PDF ] zanotowane.pldoc.pisz.plpdf.pisz.plmikr.xlx.pl
|