- promocja
PHP. Receptury. Wydanie II - ebook
PHP. Receptury. Wydanie II - ebook
Podręczny słownik 250 sprawdzonych
i skutecznych rozwiązań z zakresu języka PHP
- Praca z typami danych i blokami programów PHP
- Obsługa formularzy, baz danych i sesji
- Tworzenie wydajnych i bezpiecznych witryn internetowych
PHP to najpopularniejszy język skryptowy na świecie, wykorzystywany w milionach witryny internetowych. Szeroki wachlarz możliwości, łatwa składnia oraz współpraca z wieloma systemami operacyjnymi sprawiają, że jest to idealne narzędzie do tworzenia dynamicznych aplikacji WWW. Od wersji PHP 5 język ten obsługuje programowanie obiektowe oraz udostępnia usprawniony mechanizm współpracy z bazami danych, co w znacznym stopniu ułatwia kreowanie rozbudowanych programów sieciowych.
Drugie wydanie książki "PHP. Receptury" zawiera jeszcze więcej gotowych rozwiązań, które zostały dostosowane do nowej wersji języka, czyli PHP 5. Dodatkowo ulepszona forma umożliwia łatwiejsze znalezienie potrzebnych receptur. Pozwolą Ci one szybko rozwiązać często spotykane problemy. Czytając tę książkę dowiesz się między innymi, jak wykonywać operacje na różnych typach danych, jakie elementy składają się na programy PHP i jak z nich korzystać, a także jak obsługiwać formularze czy współpracować z bazami danych. Nauczysz się stosować techniki zarządzania sesjami. Poznasz zasady korzystania z XML, współpracy z kodem w języku JavaScript, a także rozwiązania wielu innych praktycznych problemów.
- Praca z typami danych
- Korzystanie z różnych bloków aplikacji PHP
- Obsługa formularzy
- Praca z bazami danych
- Przetwarzanie dokumentów XML
- Usługi Web Services
- Zarządzanie sesją
- Generowanie grafiki na stronach internetowych
- Zabezpieczanie witryn
- Obsługa błędów
- Optymalizacja kodu
- Praca z systemem plików i katalogów
Wykorzystaj gotowy kod do błyskawicznego
tworzenia dynamicznych witryn internetowych.
Spis treści
Wstęp (15)
1. Łańcuchy znaków (23)
- 1.0. Wprowadzenie (23)
- 1.1. Uzyskiwanie dostępu do podłańcuchów znaków (26)
- 1.2. Wyodrębnianie podłańcuchów znaków (27)
- 1.3. Zastępowanie podłańcuchów znaków (29)
- 1.4. Przetwarzanie łańcucha znaków znak po znaku (30)
- 1.5. Odwracanie kolejności słów lub znaków w łańcuchu znaków (32)
- 1.6. Poszerzanie i zwężanie tabulatorów (33)
- 1.7. Kontrolowanie wielkości liter (35)
- 1.8. Umieszczanie funkcji i wyrażeń wewnątrz łańcuchów znaków (37)
- 1.9. Odcinanie od ciągów tekstowych znaków niewidocznych (38)
- 1.10. Generowanie danych rozdzielanych znakami przecinka (40)
- 1.11. Parsowanie danych oddzielanych przecinkami (41)
- 1.12. Generowanie rekordów danych o stałej szerokości pól (42)
- 1.13. Parsowanie danych o stałej szerokości (44)
- 1.14. Dzielenie łańcuchów znaków (47)
- 1.15. Łamanie tekstu do określonej długości linii (49)
- 1.16. Przechowywanie danych binarnych w łańcuchach znaków (51)
- 1.17. Program - pobieranie pliku CSV (53)
2. Liczby (57)
- 2.0. Wprowadzenie (57)
- 2.1. Sprawdzanie, czy zmienna zawiera poprawną liczbę (58)
- 2.2. Porównywanie liczb zmiennopozycyjnych (59)
- 2.3. Zaokrąglanie liczb zmiennopozycyjnych (60)
- 2.4. Wykonywanie operacji na seriach liczb całkowitych (61)
- 2.5. Generowanie liczb losowych z danego przedziału (63)
- 2.6. Generowanie ważonych liczb losowych (65)
- 2.7. Obliczanie logarytmów (66)
- 2.8. Obliczanie potęg (66)
- 2.9. Formatowanie liczb (67)
- 2.10. Formatowanie wartości walutowych (69)
- 2.11. Wyświetlanie słów w liczbie mnogiej (70)
- 2.12. Obliczanie wartości funkcji trygonometrycznych (72)
- 2.13. Obliczanie funkcji trygonometrycznych w stopniach, a nie w radianach (73)
- 2.14. Obsługa bardzo dużych lub bardzo małych liczb (73)
- 2.15. Przekształcanie liczb z jednego systemu liczbowego na inny (75)
- 2.16. Wykonywanie obliczeń na liczbach systemów innych niż dziesiętny (76)
- 2.17. Określenie odległości między dwoma punktami (78)
3. Daty i czas (81)
- 3.0. Wprowadzenie (81)
- 3.1. Sprawdzanie aktualnej daty i czasu (82)
- 3.2. Przekształcanie elementów daty i czasu w znaczniki czasu epoki (85)
- 3.3. Przekształcanie znacznika czasu epoki w elementy czasu i daty (87)
- 3.4. Wyświetlanie daty lub czasu w określonym formacie (88)
- 3.5. Obliczanie różnicy między dwiema datami (93)
- 3.6. Obliczanie różnicy między dwiema datami mierzonej w dniach liczonych według kalendarza juliańskiego (95)
- 3.7. Znajdowanie dnia tygodnia, miesiąca lub roku oraz numeru tygodnia w roku (96)
- 3.8. Weryfikacja poprawności daty (98)
- 3.9. Parsowanie dat i czasu z łańcuchów znaków (100)
- 3.10. Dodawanie lub odejmowanie czasu od daty (103)
- 3.11. Wyznaczanie czasu w strefach czasowych (104)
- 3.12. Uwzględnianie czasu letniego (110)
- 3.13. Generowanie czasu o wysokiej precyzji (111)
- 3.14. Generowanie przedziałów czasowych (113)
- 3.15. Stosowanie kalendarzy innych niż gregoriański (114)
- 3.16. Korzystanie z dat wykraczających poza zakres znacznika czasu epoki uniksowej (118)
- 3.17. Program Calendar (120)
4. Tablice (123)
- 4.0. Wprowadzenie (123)
- 4.1. Tworzenie tablicy zaczynającej się od indeksu różnego od 0 (125)
- 4.2. Przechowywanie w tablicy wielu elementów pod jednym kluczem (127)
- 4.3. Inicjowanie tablicy liczbami całkowitymi z określonego przedziału (128)
- 4.4. Iterowanie przez kolejne elementy tablicy (129)
- 4.5. Usuwanie elementów z tablicy (131)
- 4.6. Zmienianie rozmiaru tablicy (133)
- 4.7. Łączenie tablic (135)
- 4.8. Przekształcanie tablicy w łańcuch znaków (137)
- 4.9. Wyświetlanie zawartości tablicy z przecinkami (138)
- 4.10. Sprawdzanie, czy klucz jest w tablicy (139)
- 4.11. Sprawdzanie, czy element jest w tablicy (140)
- 4.12. Znajdowanie pozycji elementu w tablicy (142)
- 4.13. Znajdowanie elementów, które spełniają odpowiednie warunki (143)
- 4.14. Znajdowanie elementu tablicy o największej lub najmniejszej wartości (144)
- 4.15. Odwracanie tablicy (145)
- 4.16. Sortowanie tablicy (146)
- 4.17. Sortowanie tablicy na podstawie porównywalnych pól (147)
- 4.18. Sortowanie wielu tablic (149)
- 4.19. Sortowanie tablicy przy użyciu metody, a nie funkcji (151)
- 4.20. Ustawianie elementów tablicy w kolejności losowej (151)
- 4.21. Usuwanie z tablicy powtarzających się elementów (152)
- 4.22. Przypisanie funkcji do każdego elementu tablicy (153)
- 4.23. Wyznaczanie sumy, przecięcia lub różnicy między dwiema tablicami (155)
- 4.24. Wykorzystanie obiektu w sposób charakterystyczny dla tablic (157)
- 4.25. Program - wyświetlanie tablicy w tabeli HTML z kolumnami ułożonymi w poziomie (160)
5. Zmienne (163)
- 5.0. Wprowadzenie (163)
- 5.1. Unikanie pomyłek między operatorami == i = (164)
- 5.2. Ustalanie wartości domyślnej (165)
- 5.3. Wymiana wartości bez używania zmiennych tymczasowych (166)
- 5.4. Tworzenie dynamicznej nazwy zmiennej (167)
- 5.5. Stosowanie zmiennych statycznych (168)
- 5.6. Współdzielenie zmiennych pomiędzy procesami (170)
- 5.7. Enkapsulacja złożonych typów danych do postaci łańcucha znaków (174)
- 5.8. Wyświetlanie zawartości zmiennej w postaci łańcuchów znaków (176)
6. Funkcje (181)
- 6.0. Wprowadzenie (181)
- 6.1. Uzyskiwanie dostępu do parametrów funkcji (182)
- 6.2. Ustawianie domyślnych wartości parametrów funkcji (183)
- 6.3. Przekazywanie wartości przez referencję (185)
- 6.4. Stosowanie parametrów nazwanych (185)
- 6.5. Tworzenie funkcji pobierających zmienną liczbę argumentów (187)
- 6.6. Zwracanie wartości przez referencję (189)
- 6.7. Zwracanie więcej niż jednej wartości (191)
- 6.8. Pomijanie pewnych zwracanych wartości (192)
- 6.9. Zwracanie błędu (193)
- 6.10. Wywoływanie funkcji zależnie od wartości zmiennych (195)
- 6.11. Dostęp do zmiennej globalnej wewnątrz funkcji (197)
- 6.12. Tworzenie funkcji dynamicznych (198)
7. Klasy i obiekty (201)
- 7.0. Wprowadzenie (201)
- 7.1. Tworzenie egzemplarzy klasy (205)
- 7.2. Definiowanie konstruktorów obiektów (206)
- 7.3. Definiowanie destruktorów obiektu (207)
- 7.4. Kontrola dostępu (209)
- 7.5. Zabezpieczenie klas i metod przed zmianami (211)
- 7.6. Przekształcanie obiektu w ciąg tekstowy (213)
- 7.7. Tworzenie interfejsów (215)
- 7.8. Tworzenie abstrakcyjnej klasy bazowej (217)
- 7.9. Przypisywanie referencji do obiektów (220)
- 7.10. Klonowanie obiektów (220)
- 7.11. Przesłonięcie procedury dostępu do właściwości (223)
- 7.12. Wywoływanie metod obiektu zwracanego przez inną metodę (227)
- 7.13. Agregowanie obiektów (228)
- 7.14. Dostęp do metod przesłoniętych (231)
- 7.15. Wykorzystanie polimorfizmu metod (233)
- 7.16. Definiowanie stałych klasy (235)
- 7.17. Definiowanie statycznych właściwości i metod (237)
- 7.18. Nadzorowanie serializacji obiektów (239)
- 7.19. Introspekcja obiektów (240)
- 7.20. Sprawdzenie, czy obiekt jest egzemplarzem określonej klasy (244)
- 7.21. Automatyczne pobieranie plików klasy podczas powoływania obiektu (247)
- 7.22. Dynamiczne tworzenie obiektów (249)
- 7.23. Program whereis (250)
8. Podstawy programowania na potrzeby WWW (253)
- 8.0. Wprowadzenie (253)
- 8.1. Zapisywanie danych cookie (254)
- 8.2. Odczytywanie danych cookie (256)
- 8.3. Usuwanie danych cookie (257)
- 8.4. Odsyłanie do innej strony (258)
- 8.5. Pozyskiwanie informacji o przeglądarkach (259)
- 8.6. Konstruowanie zapytania metody GET (261)
- 8.7. Odczytywanie treści żądania POST (262)
- 8.8. Tabele HTML z wierszami o różnych atrybutach stylu (263)
- 8.9. Proste uwierzytelnianie HTTP (264)
- 8.10. Uwierzytelnianie z wykorzystaniem danych cookie (268)
- 8.11. Wymuszenie przesłania danych do przeglądarki (271)
- 8.12. Buforowanie danych wyjściowych (272)
- 8.13. Przesyłanie danych z użyciem kompresji gzip (273)
- 8.14. Odczyt zmiennych środowiskowych (274)
- 8.15. Ustawianie wartości zmiennych środowiskowych (275)
- 8.16. Komunikacja w ramach serwera Apache (277)
- 8.17. Program - aktywowanie i dezaktywowanie stron internetowych użytkowników (278)
- 8.18. Prosty serwis Wiki (280)
9. Formularze (283)
- 9.0. Wprowadzenie (283)
- 9.1. Przetwarzanie danych pochodzących z formularza (285)
- 9.2. Weryfikacja danych formularza - pola obowiązkowe (286)
- 9.3. Weryfikacja danych formularza - liczby (288)
- 9.4. Weryfikacja danych formularza - adresy poczty elektronicznej (291)
- 9.5. Weryfikacja danych formularza - listy rozwijane (292)
- 9.6. Weryfikacja danych formularzy - przyciski opcji (294)
- 9.7. Weryfikacja danych formularza - pola wyboru (295)
- 9.8. Weryfikacja danych formularza - wartości daty i czasu (297)
- 9.9. Weryfikacja danych formularza - dane kart kredytowych (298)
- 9.10. Ochrona przed atakami XSS (299)
- 9.11. Formularze wielostronicowe (300)
- 9.12. Powtórne wyświetlanie formularzy wraz z komunikatami o błędach (302)
- 9.13. Zabezpieczenie przed wielokrotnym przesyłaniem tego samego formularza (304)
- 9.14. Obsługa przesyłanych plików (306)
- 9.15. Zabezpieczenie przed wstrzyknięciem zmiennej globalnej (309)
- 9.16. Obsługa zmiennych zawierających w nazwie znak kropki (311)
- 9.17. Elementy formularza o większej liczbie opcji (312)
- 9.18. Listy rozwijane zawierające daty (313)
10. Dostęp do baz danych (317)
- 10.0. Wprowadzenie (317)
- 10.1. Bazy danych DBM (320)
- 10.2. Bazy danych SQLite (323)
- 10.3. Zestawianie połączeń z bazami danych SQL (325)
- 10.4. Przesyłanie zapytań do baz danych SQL (327)
- 10.5. Odczyt wierszy bez użycia pętli (329)
- 10.6. Wprowadzanie zmian w bazach danych SQL (330)
- 10.7. Efektywne zwielokrotnianie zapytań (331)
- 10.8. Określanie liczby udostępnionych wierszy (335)
- 10.9. Obsługa znaków specjalnych (336)
- 10.10. Zapisywanie informacji o przebiegu programu oraz komunikatów o błędach (338)
- 10.11. Automatyczne dobieranie wartości identyfikatorów (340)
- 10.12. Programowe konstruowanie zapytań (342)
- 10.13. Tworzenie odsyłaczy do wielostronicowych wyników zapytania (346)
- 10.14. Buforowanie zapytań i ich wyników (349)
- 10.15. Dostęp do połączenia bazodanowego w dowolnej części programu (351)
- 10.16. Program - wielowątkowa lista dyskusyjna (353)
11. Sesje i trwałe dane (361)
- 11.0. Wprowadzenie (361)
- 11.1. Śledzenie przebiegu sesji (362)
- 11.2. Ochrona przed przechwyceniem sesji (364)
- 11.3. Ochrona przed ustawianiem sesji (365)
- 11.4. Przechowywanie danych sesji w bazie danych (366)
- 11.5. Przechowywanie danych sesji w pamięci współdzielonej (368)
- 11.6. Przechowywanie dowolnych danych w pamięci współdzielonej (372)
- 11.7. Przechowywanie obliczonych rezultatów w tabelach statystyk (374)
12. XML (377)
- 12.0. Wprowadzenie (377)
- 12.1. Generowanie kodu XML w formie ciągu tekstowego (380)
- 12.2. Generowanie kodu XML z użyciem rozszerzenia DOM (382)
- 12.3. Analiza nieskomplikowanego dokumentu XML (384)
- 12.4. Analiza złożonych dokumentów XML (387)
- 12.5. Analiza dokumentów XML o dużych rozmiarach (389)
- 12.6. Wyodrębnianie informacji za pomocą języka XPath (395)
- 12.7. Przekształcanie dokumentu XML za pomocą arkusza XSLT (398)
- 12.8. Definiowanie parametrów XSLT w kodzie PHP (400)
- 12.9. Wywoływanie funkcji PHP z arkuszy stylu XSLT (402)
- 12.10. Walidacja dokumentów XML (406)
- 12.11. Kodowanie treści (408)
- 12.12. Odczyt danych RSS i Atom (409)
- 12.13. Generowanie arkuszy RSS (412)
- 12.14. Generowanie arkuszy Atom (415)
13. Automatyzacja pracy w sieci (419)
- 13.0. Wprowadzenie (419)
- 13.1. Pobieranie stron metodą GET (420)
- 13.2. Pobieranie stron metodą POST (425)
- 13.3. Pobieranie stron wymagających danych cookie (427)
- 13.4. Pobieranie stron wymagających przesłania odpowiednich nagłówków (429)
- 13.5. Pobieranie stron za pomocą wybranej metody (430)
- 13.6. Pobieranie strony z ustalonym czasem oczekiwania (432)
- 13.7. Pobieranie stron w protokole HTTPS (435)
- 13.8. Analizowanie danych HTTP (435)
- 13.9. Wyróżnianie fragmentów strony WWW (440)
- 13.10. Usuwanie niepoprawnych lub niestandardowych znaczników HTML (443)
- 13.11. Wyodrębnianie odsyłaczy z plików HTML (445)
- 13.12. Przekształcanie zwykłego tekstu w kod HTML (447)
- 13.13. Przekształcanie kodu HTML do postaci zwykłego tekstu (448)
- 13.14. Usuwanie znaczników HTML i PHP (449)
- 13.15. Odpowiedź na żądania Ajax (450)
- 13.16. Integracja skryptu PHP z kodem JavaScript (452)
- 13.17. Program - wyszukiwanie błędnych odsyłaczy (456)
- 13.18. Program - wyszukiwanie nowych odsyłaczy (458)
14. Korzystanie z usług Web Services (463)
- 14.0. Wprowadzenie (463)
- 14.1. Wywołanie metody REST (465)
- 14.2. Wywołanie metody SOAP z wykorzystaniem danych WSDL (466)
- 14.3. Wywołanie metody SOAP bez korzystania z danych WSDL (468)
- 14.4. Rozwiązywanie problemów z żądaniami SOAP (469)
- 14.5. Złożone typy SOAP (471)
- 14.6. Definiowanie typów SOAP (472)
- 14.7. Wykorzystanie nagłówków SOAP (473)
- 14.8. Uwierzytelnianie w komunikacji SOAP (475)
- 14.9. Zmiana adresu serwera docelowego (476)
- 14.10. Przechwytywanie błędów SOAP (478)
- 14.11. Odwzorowanie typów danych XML Schema na klasy PHP (480)
- 14.12. Wywołanie metod XML-RPC (481)
- 14.13. Uwierzytelnianie w komunikacji XML-RPC (484)
15. Tworzenie usług Web Services (487)
- 15.0. Wprowadzenie (487)
- 15.1. Udostępnianie metod REST (488)
- 15.2. Udostępnianie metod SOAP (493)
- 15.3. Pobieranie parametrów w metodach SOAP (496)
- 15.4. Automatyczne generowanie dokumentu WSDL (498)
- 15.5. Generowanie błędów SOAP (499)
- 15.6. Przetwarzanie nagłówków SOAP (501)
- 15.7. Generowanie nagłówków SOAP (504)
- 15.8. Uwierzytelnianie w komunikacji SOAP (506)
- 15.9. Udostępnianie metod XML-RPC (510)
16. Usługi internetowe (515)
- 16.0. Wprowadzenie (515)
- 16.1. Wysyłanie poczty elektronicznej (516)
- 16.2. Wysyłanie poczty MIME (518)
- 16.3. Odczytywanie poczty za pomocą protokołów IMAP lub POP3 (520)
- 16.4. Wysyłanie wiadomości do grup dyskusyjnych (523)
- 16.5. Odczytywanie wiadomości z grup dyskusyjnych (525)
- 16.6. Pobieranie i wysyłanie plików za pomocą protokołu FTP (529)
- 16.7. Wyszukiwanie adresów przy użyciu serwerów LDAP (531)
- 16.8. Wykorzystanie serwera LDAP do autoryzacji użytkowników (533)
- 16.9. Przeprowadzanie sprawdzania DNS (535)
- 16.10. Sprawdzanie, czy serwer działa (537)
- 16.11. Pobieranie informacji o nazwie domeny (538)
17. Grafika (541)
- 17.0. Wprowadzenie (541)
- 17.1. Rysowanie linii, prostokątów i wielokątów (544)
- 17.2. Rysowanie łuków, elips i okręgów (545)
- 17.3. Rysowanie linii ze wzorem (547)
- 17.4. Rysowanie tekstu (548)
- 17.5. Rysowanie wyśrodkowanego tekstu (551)
- 17.6. Dynamiczne generowanie obrazów (555)
- 17.7. Pobieranie i ustawianie koloru przezroczystości (557)
- 17.8. Odczyt danych EXIF (558)
- 17.9. Bezpieczne udostępnianie obrazów (560)
- 17.10. Program - generowanie wykresów słupkowych z wyników głosowania (562)
18. Szyfrowanie i bezpieczeństwo połączeń (565)
- 18.0. Wprowadzenie (565)
- 18.1. Zabezpieczenie przed ustawianiem sesji (566)
- 18.2. Zabezpieczenie przed podstawieniem formularza (567)
- 18.3. Filtrowanie danych wejściowych (568)
- 18.4. Unikanie wykonywania skryptów w ramach witryny (569)
- 18.5. Ochrona przed wstrzykiwaniem instrukcji SQL (570)
- 18.6. Przechowywanie haseł w innym miejscu niż pliki witryny (571)
- 18.7. Przechowywanie haseł (572)
- 18.8. Sposoby postępowania w przypadku utraty haseł (574)
- 18.9. Weryfikacja danych za pomocą skrótu (576)
- 18.10. Szyfrowanie i deszyfrowanie danych (578)
- 18.11. Zapamiętywanie zaszyfrowanych danych w pliku lub bazie danych (582)
- 18.12. Współużytkowanie zaszyfrowanych danych z inną witryną (585)
- 18.13. Wykrywanie połączenia SSL (587)
- 18.14. Szyfrowanie poczty za pomocą GPG (588)
19. Internacjonalizacja i lokalizacja tworzonych aplikacji (591)
- 19.0. Wprowadzenie (591)
- 19.1. Wyświetlanie nazw dostępnych stref językowych (593)
- 19.2. Korzystanie z konkretnej strefy językowej (593)
- 19.3. Ustawianie domyślnej strefy (595)
- 19.4. Dostosowanie tekstów komunikatów (595)
- 19.5. Formatowanie dat i czasu (599)
- 19.6. Wyświetlanie walut (600)
- 19.7. Dostosowywanie obrazów do potrzeb mieszkańców określonej strefy językowej (604)
- 19.8. Lokalizacja dołączanych plików (606)
- 19.9. Zarządzanie zasobami przeznaczonymi dla różnych stref językowych (607)
- 19.10. Wykorzystanie rozszerzenia gettext (609)
- 19.11. Określenie kodowania danych wyjściowych (610)
- 19.12. Określenie kodowania danych wejściowych (611)
- 19.13. Przetwarzanie ciągów tekstowych UTF-8 (612)
20. Obsługa błędów, uruchamianie i testowanie (617)
- 20.0. Wprowadzenie (617)
- 20.1. Wyszukiwanie i poprawianie błędów składniowych (618)
- 20.2. Tworzenie własnej klasy wyjątku (620)
- 20.3. Wyświetlenie stosu wywołań funkcji (623)
- 20.4. Odczyt zmiennych konfiguracyjnych (624)
- 20.5. Ustawianie wartości zmiennych konfiguracyjnych (626)
- 20.6. Ukrywanie komunikatów o błędach (627)
- 20.7. Dostosowanie procedur obsługi błędów (628)
- 20.8. Tworzenie własnych procedur obsługi błędów (630)
- 20.9. Zapisywanie błędów w dzienniku (632)
- 20.10. Unikanie błędów powtórnego przesłania nagłówka (633)
- 20.11. Rejestrowanie informacji uruchomieniowych (634)
- 20.12. Wykorzystanie rozszerzenia debugera (637)
- 20.13. Przygotowanie testu modułu (642)
- 20.14. Przygotowanie zestawu testów modułu (645)
- 20.15. Zastosowanie testu modułu na stronie internetowej (647)
- 20.16. Przygotowanie środowiska testowego (648)
21. Zwiększanie wydajności i testy obciążeniowe (651)
- 21.0. Wprowadzenie (651)
- 21.1. Pomiar czasu wykonania funkcji (652)
- 21.2. Pomiar czasu wykonywania programu (653)
- 21.3. Wykorzystanie rozszerzenia debuger do optymalizacji kodu (656)
- 21.4. Testy obciążeniowe serwisu (659)
- 21.5. Unikanie wyrażeń regularnych (660)
- 21.6. Wykorzystanie akceleratora (662)
22. Wyrażenia regularne (665)
- 22.0. Wprowadzenie (665)
- 22.1. Różnice pomiędzy funkcjami ereg i preg (668)
- 22.2. Dopasowywanie wyrazów (670)
- 22.3. Wyszukiwanie n-tego wystąpienia danej wartości (671)
- 22.4. Obszerne i ograniczone dopasowania (673)
- 22.5. Wyszukiwanie linii pliku spełniających określone kryteria (675)
- 22.6. Wyszukiwanie tekstu wewnątrz znaczników HTML (676)
- 22.7. Zapobieganie wyodrębnianiu tekstu na podstawie wyrażeń umieszczanych w nawiasie (677)
- 22.8. Obsługa znaków specjalnych w wyrażeniach regularnych (679)
- 22.9. Odczytywanie rekordów rozdzielanych określonymi symbolami (681)
- 22.10. Wykorzystanie funkcji PHP w wyrażeniach regularnych (682)
23. Pliki (687)
- 23.0. Wprowadzenie (687)
- 23.1. Tworzenie lub otwieranie lokalnego pliku (691)
- 23.2. Tworzenie tymczasowego pliku (692)
- 23.3. Zdalne otwieranie pliku (693)
- 23.4. Odczyt ze standardowego wejścia (694)
- 23.5. Odczyt plików do łańcucha znaków (695)
- 23.6. Zliczanie wierszy, akapitów i rekordów w pliku (697)
- 23.7. Przetwarzanie każdego wyrazu z pliku (700)
- 23.8. Pobieranie z pliku losowego wiersza (701)
- 23.9. Przemieszanie wszystkich wierszy w pliku (702)
- 23.10. Przetwarzanie pól tekstowych o zmiennej długości (703)
- 23.11. Odczytywanie plików konfiguracyjnych (704)
- 23.12. Modyfikacja pliku bez użycia pliku tymczasowego (706)
- 23.13. Opróżnianie bufora (708)
- 23.14. Zapis na standardowe wyjście (708)
- 23.15. Jednoczesny zapis do wielu uchwytów plików (709)
- 23.16. Znaki specjalne powłoki (710)
- 23.17. Przekazywanie wejścia do programu (712)
- 23.18. Odczyt standardowego wyjścia z programów (713)
- 23.19. Odczyt standardowego wyjścia błędów z programu (715)
- 23.20. Blokowanie pliku (716)
- 23.21. Odczyt i zapis niestandardowych plików (719)
- 23.22. Odczyt i zapis skompresowanych plików (723)
24. Katalogi (725)
- 24.0. Wprowadzenie (725)
- 24.1. Pobieranie i ustawianie czasu plików (728)
- 24.2. Pobieranie informacji o pliku (729)
- 24.3. Zmiana praw lub właściciela pliku (731)
- 24.4. Podział nazwy pliku na części składowe (732)
- 24.5. Usuwanie pliku (733)
- 24.6. Kopiowanie lub przenoszenie pliku (734)
- 24.7. Przetwarzanie wszystkich plików w katalogu (735)
- 24.8. Pobranie listy plików zgodnych z pewnym wzorcem (737)
- 24.9. Rekurencyjne przetwarzanie wszystkich plików katalogu (738)
- 24.10. Tworzenie nowych katalogów (739)
- 24.11. Usuwanie katalogu i jego zawartości (740)
- 24.12. Program - wyświetlanie listy plików w katalogu jako strony WWW (741)
- 24.13. Program - wyszukiwanie tekstu w witrynie (744)
25. Wiersz poleceń PHP (749)
- 25.0. Wprowadzenie (749)
- 25.1. Przetwarzanie argumentów programu (750)
- 25.2. Przetwarzanie argumentów za pomocą klasy getopt (752)
- 25.3. Odczyt z klawiatury (755)
- 25.4. Wykonanie instrukcji PHP w odniesieniu do każdego wiersza pliku wejściowego (756)
- 25.5. Odczyt haseł (758)
- 25.6. Program - powłoka z wierszem poleceń (760)
26. Biblioteki PEAR i PECL (765)
- 26.0. Wprowadzenie (765)
- 26.1. Korzystanie z instalatora PEAR (767)
- 26.2. Wyszukiwanie pakietów PEAR (770)
- 26.3. Wyświetlanie informacji o pakiecie (772)
- 26.4. Instalacja pakietów PEAR (774)
- 26.5. Aktualizacja pakietów PEAR (775)
- 26.6. Usuwanie zainstalowanych pakietów PEAR (776)
- 26.7. Instalacja pakietów PECL (777)
Skorowidz (781)
Kategoria: | Programowanie |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-246-6136-7 |
Rozmiar pliku: | 4,5 MB |