|
Dlaczego mamy tak wysokie poda Doradztwo finansowe www.aguilera-wallpa… |
Vision Vision International People Group www.suplementy.skle… |
Prawidłowa waga ZOBACZ JAKA JEST PRAWIDłOWA WAGA www.programy.u.waw.… |
bikini bikini www.bikinisnob.pl |
Filmy Filmy w kinach www.wkinach.pl |
hogwart-rpg Gra Harry Potter hogwart-rpg.pl Gra Harry Potter www.hogwart-rpg.pl |
Oczyszczalnie ścieków Oczyszczalnie ścieków www.projprzemeko.pl… |
katalog dodawanie wpisów zablokowane adrian.chemia-sole.… |
sklep komputerowy sprzęt komputerowy sklep.b-52.com.pl |
Ładowarka KLIC-7001 Ładowarka KLIC-7001 www.photox.pl/-p-11… |
Krok po koroku, pełna dokumentacja w języku polskim. Skrypty napisane w PHP są z reguły umieszczane w dokumentach tekstowych (często razem z HTML lub XHTML). Dzięki temu PHP jest podobny w założeniach do dużo starszego mechanizmu Server Side Includes[4]. PHP pozwala także na wykonywanie skryptów z linii poleceń podobnie jak Perl i Python. Jego modułowa budowa udostępnia również możliwość programowania aplikacji z interfejsem graficznym. PHP umożliwia współpracę z wieloma rodzajami źródeł danych, jak na przykład serwery relacyjnych baz danych, pliki tekstowe czy dokumenty XML.
Notatka: Ten rozdział dotyczy wersji 3.0.7 i późniejszych.
PHP wewnętrznie zarządza stanem połączenia. Mogą wystąpić trzy stany:
0 - NORMAL
1 - ABORTED (przerwany)
2 - TIMEOUT (przekroczony czas)
Kiedy skrypt PHP się wykonuje, aktywny jest stan NORMAL. Jeśli klient się rozłączy, stan przechodzi w ABORTED. Zwykle ma to miejsce gdy użytkownik naciśnie przycisk STOP w przeglądarce. Jeśli przekroczony zostanie narzucony limit czasu (patrz set_time_limit()), stan zmienia się na TIMEOUT.
Możesz zdecydować czy po rozłączeniu klienta praca skryptu ma zostać przerwana. Czasem przydatne jest by skrypty działały do końca, nawet gdy braknie przeglądarki do której można wysyłać dane. Domyślnie, po rozłączeniu się klienta, działanie skryptu jest przerywane. To zachowanie można zmienić dzięki opcji ignore_user_abort w php.ini, jak również dyrektywie Apache "php_value ignore_user_abort" lub funkcji ignore_user_abort(). Jeśli nie każesz PHP ignorować rozłączeń klienta, a klient rozłączy się, skrypt zakończy działanie. Jedyny wyjątek wystąpi, jeśli zarejestrujesz funkcję zamykającą, używając register_shutdown_function(). Wtedy, gdy użytkownik wciśnie przycisk STOP i przy kolejnej próbie wysłania wyniku PHP wykryje przerwanie połączenia, zostanie wykonana funkcja zamykająca. Będzie ona również wywoływana przy normalnym zakończeniu pracy skryptu, zatem, by wykonać inne czynności gdy klient się rozłączy, można użyć funkcji connection_aborted(). Zwraca ona TRUE jeśli połączenie zostało przerwane.
Skrypt może zostać również zakończony przez wbudowany licznik czasu.
Domyślnie czas ten wynosi 30 sekund. Wartość tę można zmienić
używając opcji max_execution_time w php.ini, jak również dyrektywy
Apache php_value max_execution_time lub funkcji
set_time_limit(). Kiedy czas na wykonanie się
skończy, skrypt zostanie przerwany podobnie jak w przypadku rozłączenia
się klienta (patrz wyżej). Jeśli funkcja zamykająca była zarejestrowana,
zostanie wywołana. Wewnątrz funkcji zamykającej możesz sprawdzić czy
została ona wywołana wskutek przekroczenia czasu. Do tego celu użyj
funkcji connection_status(). Funkcja zwróci 2, jeśli to
przekroczenie limitu czasu spowodowało wywołanie funkcji
zamykającej.
Należy zwrócić uwagę, że stany ABORTED i TIMEOUT mogą być aktywne jednocześnie. Jest to możliwe, jeśli każesz PHP ignorować rozłączenia klienta. PHP będzie brało pod uwagę fakt, że połączenie z klientem mogło zostać zerwane, ale skrypt będzie pracował dalej. Gdy minie czas przeznaczony na wykonanie skryptu, zostanie on przerwany i uruchomiona zostanie funkcja zamykająca (jeśli była ustawiona). W tym momencie funkcje connection_timeout() i connection_aborted() będą zwracały TRUE. Możesz także sprawdzić oba stany przy pomocy funkcji connection_status() w takim wypadku zwróci ona 3.
| Poprzedni | Spis treści | Następny |
| Korzystanie ze zdalnych plików | Początek rozdziału | Stałe połączenia z bazami danych |
php
kontakt:praca.pozycjonowanie@gmail.com