Marcin Lis php.-101-praktycznych-skryptow.-wydanie-ii full version.pdf

(8592 KB) Pobierz
IDZ DO
PRZYK£ADOW Y ROZDZIA£
PHP. 101 praktycznych
SPIS TREœCI
skryptów. Wydanie II
KATALOG KSI¥¯EK
Autor: Marcin Lis
ISBN: 83-246-0796-X
Format: B5, stron: 296
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
Wykorzystaj w swoich projektach gotowe rozwi¹zania
Przetwarzanie grafiki
Operacje na plikach
Komunikacja z bazami danych
PHP to jeden z najpopularniejszych jêzyków wykorzystywanych do tworzenia
dynamicznych witryn WWW. Od pocz¹tku swojej obecnoœci na rynku zyska³
ogromne uznanie programistów. Jest dostêpny nieodp³atnie i ma ogromne mo¿liwoœci.
Jego najnowsza wersja otworzy³a przed twórcami aplikacji nowe horyzonty, oferuj¹c
im wszystkie korzyœci wynikaj¹ce z programowania obiektowego. PHP jest dostêpny
dla wiêkszoœci popularnych systemów operacyjnych z rodziny Unix/Linux, Windows,
Mac OS oraz Risc OS. Wspó³pracuje te¿ z wieloma serwerami HTTP, dziêki czemu
jest niezwykle uniwersalny.
W ksi¹¿ce „PHP. 101 praktycznych skryptów. Wydanie II” znajdziesz gotowe skrypty,
dziêki którym zdecydowanie przyœpieszysz swoj¹ pracê nad aplikacjami i serwisami
internetowymi. To wydanie zosta³o tak zaktualizowane w stosunku do poprzedniego,
¿e skrypty dzia³aj¹ prawid³owo w najnowszej wersji jêzyka PHP. Autor zapewni³ tak¿e
zgodnoœæ generowanych przez nie dokumentów HTML z obowi¹zuj¹cymi standardami
tego jêzyka. Ka¿dy ze skryptów mo¿esz po prostu wkleiæ do swojego kodu b¹dŸ
zmodyfikowaæ, aby dok³adnie odpowiada³ Twoim potrzebom. Korzystaj¹c z przyk³adów
znajduj¹cych siê w tej ksi¹¿ce, mo¿esz dodaæ do swoich projektów funkcje obs³uguj¹ce
system plików, przetwarzaj¹ce grafikê, zabezpieczaj¹ce witryny i aplikacje przed
nieautoryzowanym dostêpem.
Operacje sieciowe
Praca z systemem plików
Liczniki odwiedzin i ksiêgi goœci
Przetwarzanie grafiki
Autoryzacja u¿ytkowników
Komunikacja z bazami danych
Przewodnik po najwa¿niejszych elementach jêzyka PHP
Skorzystaj ze sprawdzonych rozwi¹zañ
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
ONOWOœCIACH
ZAMÓW CENNIK
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Koœciuszki 1c
44-100 Gliwice
tel. 032 230 98 63
e-mail: helion@helion.pl
821859987.014.png 821859987.015.png 821859987.016.png 821859987.017.png 821859987.001.png 821859987.002.png 821859987.003.png 821859987.004.png 821859987.005.png 821859987.006.png 821859987.007.png 821859987.008.png 821859987.009.png 821859987.010.png 821859987.011.png 821859987.012.png
 
Wstęp .............................................................................................. 9
Rozdział 1. Globalna sieć ................................................................................. 11
Skrypt 1. Uzyskanie adresu IP ......................................................................................... 11
Skrypt 2. Odczytanie rekordów MX ................................................................................ 13
Skrypt 3. Nawiązanie połączenia TCP ............................................................................ 14
Skrypt 4. Wysyłanie poczty ............................................................................................. 17
Skrypt 5. Pobranie pliku z serwera ftp ............................................................................ 19
Skrypt 6. Wysłanie pliku do serwera ftp ........................................................................... 20
Skrypt 7. Wysłanie pliku do serwera (upload pliku) ....................................................... 21
Skrypt 8. Przekierowanie z użyciem znacznika <meta> ................................................. 24
Skrypt 9. Przekierowanie z użyciem nagłówków HTTP ................................................. 25
Skrypt 10. Przekierowanie ze względu na adres IP ......................................................... 25
Skrypt 11. Przekierowanie na losową witrynę ................................................................ 26
Skrypt 12. Zablokowanie wybranych adresów IP ........................................................... 27
Skrypt 13. Walidacja adresu e-mail ................................................................................. 28
Skrypt 14. Wysłanie pliku do przeglądarki ..................................................................... 28
Skrypt 15. Pobieranie plików z listy I ............................................................................. 30
Skrypt 16. Pobieranie plików z listy II ............................................................................ 32
Skrypt 17. Generowanie listy plików do pobrania .......................................................... 35
Rozdział 2. System plików ............................................................................... 37
Skrypt 18. Wykonanie polecenia zewnętrznego .............................................................. 37
Skrypt 19. Wyświetlenie listy plików .............................................................................. 38
Skrypt 20. Nawigacja po katalogach serwera .................................................................. 39
Skrypt 21. Usunięcie zawartości katalogu ....................................................................... 42
Skrypt 22. Rozmiar katalogu ........................................................................................... 43
Skrypt 23. Kopiowanie zawartości katalogu ................................................................... 43
Skrypt 24. Wyświetlenie plików określonego typu jako odnośników ............................ 44
Rozdział 3. Liczniki, księgi gości itp. ................................................................ 47
Skrypt 25. Prosty licznik tekstowy .................................................................................. 47
Skrypt 26. Licznik przechowujący datę początkową ...................................................... 48
Skrypt 27. Licznik graficzny ........................................................................................... 50
Skrypt 28. Licznik filtrujący adresy IP ............................................................................ 51
Skrypt 29. Licznik filtrujący adresy IP II .......................................................................... 53
Skrypt 30. Licznik uwzględniający tylko jedno odwołanie z danego IP ......................... 54
821859987.013.png
4
PHP. 101 praktycznych skryptów
Skrypt 31. Głosowanie (ankieta) ..................................................................................... 55
Skrypt 32. Księga gości ................................................................................................... 61
Skrypt 33. Księga gości z nawigacją ............................................................................... 65
Skrypt 34. Porada dnia ..................................................................................................... 69
Skrypt 35. Porada dnia z hasłami w pliku ....................................................................... 70
Skrypt 36. Inna strona dla znanego użytkownika ............................................................ 71
Rozdział 4. Grafika i obrazy .............................................................................. 73
Skrypt 37. Najprostsza galeria ......................................................................................... 73
Skrypt 38. Zautomatyzowana galeria .............................................................................. 75
Skrypt 39. Galeria z podpisami obrazów .......................................................................... 79
Skrypt 40. Galeria z miniaturami obrazów ...................................................................... 82
Skrypt 41. Zmiana rozdzielczości obrazu ........................................................................ 86
Skrypt 42. Zmiana rozdzielczości obrazu z zachowaniem proporcji .............................. 87
Skrypt 43. Zmiana rozdzielczości z rozpoznaniem typu pliku ........................................ 88
Skrypt 44. Informacja o wykorzystywanej bibliotece graficznej .................................... 91
Skrypt 45. Zmiana rozdzielczości obrazów z wybranego katalogu ................................ 92
Skrypt 46. Przeskalowanie serii obrazów ........................................................................ 93
Skrypt 47. Obracanie obrazu ........................................................................................... 94
Skrypt 48. Obracanie serii obrazów ................................................................................ 95
Skrypt 49. Konwersja obrazu do wybranego formatu ..................................................... 96
Skrypt 50. Konwersja obrazów z wybranego katalogu ................................................... 99
Skrypt 51. Tekst jako obrazek ....................................................................................... 101
Skrypt 52. Nałożenie tekstu na obraz ............................................................................ 103
Rozdział 5. Użytkownicy i hasła ...................................................................... 105
Skrypt 53. Hasło dostępu do strony ............................................................................... 105
Skrypt 54. Logowanie użytkowników ........................................................................... 107
Skrypt 55. Logowanie z kodowaniem haseł .................................................................. 109
Skrypt 56. Zarządzanie hasłami ..................................................................................... 110
Skrypt 57. Hasło dostępu z użyciem sesji ..................................................................... 114
Skrypt 58. Logowanie użytkowników z wykorzystaniem sesji .................................... 118
Skrypt 59. Inna strona dla każdego użytkownika .......................................................... 120
Skrypt 60. Generowanie losowego hasła ....................................................................... 122
Skrypt 61. Automatyczne logowanie ............................................................................. 123
Rozdział 6. Data i czas .................................................................................. 127
Skrypt 62. Bieżąca data i czas ....................................................................................... 127
Skrypt 63. Ile dni do…? ................................................................................................ 128
Skrypt 64. Różnica między dwoma datami ................................................................... 129
Skrypt 65. Data ostatniej modyfikacji strony ................................................................ 132
Skrypt 66. Strona zależna od pory dnia ......................................................................... 133
Skrypt 67. Strona zależna od dnia tygodnia .................................................................. 134
Skrypt 68. Wyświetlenie nazwy dnia tygodnia ............................................................. 134
Skrypt 69. Rysunek zależny od dnia tygodnia .............................................................. 135
Skrypt 70. Czas generowania strony ............................................................................. 136
Skrypt 71. Kalendarz ..................................................................................................... 137
Rozdział 7. Bazy danych ................................................................................. 141
Skrypt 72. Licznik wykorzystujący bazę danych .......................................................... 141
Skrypt 73. Ankieta ......................................................................................................... 143
Skrypt 74. Księga gości ................................................................................................. 146
Skrypt 75. Logowanie .................................................................................................... 150
Skrypt 76. Autoryzacja z wykorzystaniem sesji i kodowaniem danych ....................... 152
Skrypt 77. Zarządzanie hasłami ..................................................................................... 154
Spis treści
5
Skrypt 78. Zapamiętanie danych użytkownika .............................................................. 157
Skrypt 79. Automatyczne logowanie ............................................................................. 163
Skrypt 80. Liczba osób obecnych na stronie ................................................................. 165
Skrypt 81. Liczba osób przeglądających stronę z różnych adresów IP ............................ 167
Skrypt 82. Statystyka strony (lista odwiedzin) .............................................................. 169
Skrypt 83. Liczba przeglądających stronę (z wykorzystaniem statystyki strony) ......... 171
Skrypt 84. Pobieranie plików ........................................................................................ 172
Skrypt 85. Ranking plików ............................................................................................ 176
Skrypt 86. Automatyczne generowanie nazw plików ................................................... 180
Skrypt 87. Lista odnośników ......................................................................................... 181
Skrypt 88. Zliczanie odwołań z każdego adresu IP ....................................................... 183
Skrypt 89. Porada dnia ................................................................................................... 186
Skrypt 90. Statystyka przeglądarek ............................................................................... 187
Rozdział 8. Rozmaitości ................................................................................. 191
Skrypt 91. Lista odwiedzin ............................................................................................ 191
Skrypt 92. Rozpoznanie typu przeglądarki .................................................................... 192
Skrypt 93. Rozpoznanie typu systemu operacyjnego .................................................... 194
Skrypt 94. Ocenzurowanie tekstu .................................................................................. 194
Skrypt 95. Ocenzurowanie tekstu z wykorzystaniem zewnętrznego słownika ............. 195
Skrypt 96. Losowy baner ............................................................................................... 196
Skrypt 97. Losowy baner z wybranego katalogu .......................................................... 197
Skrypt 98. Banery wyświetlane w określonej kolejności .............................................. 198
Skrypt 99. Ochrona przed spamem ................................................................................ 199
Skrypt 100. Adres e-mail w postaci obrazu ................................................................... 200
Skrypt 101. Zabezpieczenie witryny przed kopiowaniem ............................................. 202
Dodatek A Krótki przewodnik po PHP ............................................................ 205
Krótka historia PHP ....................................................................................................... 205
Instalacja ........................................................................................................................ 205
PHP i HTML ................................................................................................................. 206
Znaczniki PHP ......................................................................................................... 206
Pierwszy skrypt ....................................................................................................... 207
Łączenie skryptów ................................................................................................... 208
Komentarze ............................................................................................................. 209
Zmienne w PHP ............................................................................................................. 210
Typy danych ............................................................................................................ 210
Konwersje typów ..................................................................................................... 217
Zmienne globalne (superglobalne) .......................................................................... 221
Operatory ....................................................................................................................... 222
Operatory arytmetyczne .......................................................................................... 222
Operatory logiczne .................................................................................................. 222
Operatory bitowe ..................................................................................................... 223
Operatory porównywania (relacyjne) ...................................................................... 223
Operatory przypisania ............................................................................................. 224
Operatory inkrementacji/dekrementacji .................................................................. 225
Pozostałe operatory ................................................................................................. 226
Priorytety operatorów .............................................................................................. 227
Instrukcje ....................................................................................................................... 227
Instrukcje warunkowe ............................................................................................. 227
Pętle ......................................................................................................................... 229
Składnia alternatywna ............................................................................................. 231
Funkcje .......................................................................................................................... 232
Argumenty funkcji .................................................................................................. 232
6
PHP. 101 praktycznych skryptów
Klasy i obiekty ............................................................................................................... 234
Dziedziczenie .......................................................................................................... 235
Konstruktory ............................................................................................................ 236
Operator zakresu ..................................................................................................... 237
Współpraca z przeglądarką ............................................................................................ 238
Metoda GET ............................................................................................................ 239
Metoda POST .......................................................................................................... 241
Współpraca z systemem ................................................................................................ 242
Odczyt i zapis plików .............................................................................................. 242
Data i czas ............................................................................................................... 245
Bazy danych .................................................................................................................. 253
Obsługa baz danych ................................................................................................ 253
Łączenie z bazą danych ........................................................................................... 253
Zapytania ................................................................................................................. 254
Pobieranie danych ................................................................................................... 255
Pobieranie wyników zapytania ................................................................................ 257
Dodatek B Wybrane funkcje dostępne w PHP ................................................. 259
Funkcje systemu plików ................................................................................................ 259
Funkcja basename ................................................................................................... 259
Funkcja chgrp .......................................................................................................... 260
Funkcja chmod ........................................................................................................ 260
Funkcja chown ........................................................................................................ 260
Funkcja clearstatcache ............................................................................................. 260
Funkcja copy ........................................................................................................... 261
Funkcja dirname ...................................................................................................... 261
Funkcja disk_free_space ......................................................................................... 261
Funkcja disk_total_space ........................................................................................ 261
Funkcja fclose ......................................................................................................... 262
Funkcja feof ............................................................................................................. 262
Funkcja fflush .......................................................................................................... 262
Funkcja fgetc ........................................................................................................... 262
Funkcja fgetcsv ....................................................................................................... 263
Funkcja fgets ........................................................................................................... 263
Funkcja fgetss .......................................................................................................... 263
Funkcja file_exists ................................................................................................... 263
Funkcja file_get_contents ....................................................................................... 264
Funkcja file_put_contents ....................................................................................... 264
Funkcja file .............................................................................................................. 264
Funkcja fileatime ..................................................................................................... 264
Funkcja filectime ..................................................................................................... 265
Funkcja filegroup .................................................................................................... 265
Funkcja fileinode ..................................................................................................... 265
Funkcja filemtime ................................................................................................... 265
Funkcja fileowner .................................................................................................... 265
Funkcja fileperms .................................................................................................... 266
Funkcja filesize ....................................................................................................... 266
Funkcja filetype ....................................................................................................... 266
Funkcja flock ........................................................................................................... 266
Funkcja fopen .......................................................................................................... 267
Funkcja fpassthru .................................................................................................... 268
Funkcja fputs ........................................................................................................... 268
Funkcja fread ........................................................................................................... 268
Funkcja fscanf ......................................................................................................... 268
Zgłoś jeśli naruszono regulamin