include Wyrażenie include dołącza i wykonuje określony plik Dokumentacja poniżej odnosi się także do require. Pliki są dołączane, bazując na podanej ścieżce lub jeśli jej nie określono, na ustawieniu include_path. Jeżeli plik nie zostanie znaleziony w include_path, include sprawdzi jeszcze katalog aktualnie uruchamianego skryptu i obecny katalog roboczy przed zwróceniem błędu. Konstrukcja include wyemituje E_WARNING jeżeli nie znajdzie pliku; jest to zachowanie odmienne od require, który zgłosi E_ERROR. Zarówno include jak i require dodatkowo zgłoszą E_WARNING, jeżeli dostęp do pliku moe powiedzie się, jeszcze przed zgłoszeniem finalnego E_WARNING lub E_ERROR. Jeżeli ścieżka jest zdefiniowana — czy to absolutna (zaczynająca się literą dysku lub \ na Windows, lub / w systemach Unix/Linux), czy względna do obecnego katalogu (zaczynająca się znakami . lub ..) — include_path zostanie zignorowane. Przykładowo, jeżeli nazwa pliku zaczyna się od ../, parser sprawdzi katalog nadrzędny w poszukiwaniu zażądanego pliku. Aby dowiedzieć się więcej o tym, jak PHP obsługuje dołączanie plików i include path, zobacz dokumentację dla include_path. Kiedy plik jest dołączony, kod który zawiera, dziedziczy zasięg zmiennych linii, w której wystąpiła instrukcja include. Wszystkie zmienne dostępne w linii, która odwołuje się do pliku, będą od tego momentu dostępne w dołączonym pliku. Jednakże, wszystkie funkcje i klasy zdefiniowane w dołączonym pliku będą miały zasięg globalny. Przykład użycia <literal>include</literal> test.php ]]> Jeżeli include występuje wewnątrz funkcji, w pliku dołączającym, to cały kod zawarty w dołączanym pliku będzie się zachowywał tak, jakby był zdefiniowany wewnątrz tej funkcji. Otrzyma więc zasięg zmiennych tej funkcji. Wyjątkiem od tej reguły są stałe magiczne, które są wykonywane przez parser, zanim plik zostanie dołączony. Dołączanie pliku wewnątrz funkcji ]]> Kiedy plik jest dołączany, parser wychodzi z trybu PHP, wchodzi w tryb HTML na początku dołączanego pliku i powraca do PHP na jego końcu. Z tego powodu, kod w dołączanym pliku, który powinien być wykonany jako PHP, musi być otoczony poprawnymi tagami PHP. Jeżeli "nakładki dołączanych URL" zostały włączone w PHP, możesz określik plik do dołączenia jako URL (przez HTTP lub inny wspierany wrapper - zobacz , aby zapoznać się z listą protokołów) zamiast lokalnej ścieżki. Jeżeli docelowy serwer interpretuje dołączany plik jako kod PHP, można przekazać zmienne do dołączanego pliku używając łańcucha zapytania URL i metody HTTP GET. Nie jest to dokładnie to samo, co dołączanie pliu i dziedziczenie przez niego zasięgu zmiennych pliku nadrzędnego; skrypt jest najpierw wykonywany na zdalnym serwerze i jego wynik jest później dołączany do skryptu lokalnego. <literal>include</literal> przez HTTP ]]> Ostrzeżenie bezpieczeństwa Zdalny plik może być przetworzony na zdalnym serwerze (zależnie od rozszerzenia pliku i faktyczu czy zdalny serwer obsługuje PHP), ale musi on wciaż wyprodukować poprawny skrypt PHP ponieważ będzie przetwarzany na lokalnym serwerze. Jeżeli plik ze zdalnego serwera powinien być przetworzony tutaj i tylko wyświetlony, readfile jest znacznie lepszą funkcją do użycia. W przeciwnym wypadku, powinno się szczególnie zadbać o bezpieczeństwo zdalnego skryptu, tak aby wyprodukował poprawny i pożądany kod. Zobacz także Zdalne pliki, fopen i file dla powiązanych informacji. Obsługa zwracanych wartości: include zwraca FALSE i generuje ostrzeżenie w wypadku błędu. Pomyślne dołączenie, o ile nie zostało nadpisane przez dołączany plik, zwraca 1. Jest możliwe wykonanie instrukcji return w dołączanym pliku, aby zatrzymać jego przetwarzanie i powrócić do skryptu, który go dołączył. Jest także możliwe zwracanie wartości z dołączanych plików. Możesz skorzystać z wartości wywołania include, tak jak z wartości normalnej funkcji. Nie jest to jednakże możliwe przy dołączaniu plików zdalnych, dopóki wyjście zdalnego pliku zawiera poprawne tagi PHP (tak jak z dowolnym lokalnym plikiem). Możesz zadeklarować potrzebne zmienne w tych tagach i będą one utworzone w momencie dołączenia pliku. Ponieważ include jest specjalną konstrukcją języka, nawiasy wokół argumentu nie są wymagane. Zwróć na to uwagę przy porównywaniu zwracanej wartości Porównywanie wartości zwróconej przez include ]]> <literal>include</literal> i instrukcja <function>return</function> noreturn.php testreturns.php ]]> $bar ma wartość 1, ponieważ dołączenie było pomyślne. Zauważ różnicę między powyższymi przykładami. Pierwszy używa return wewnątrz dołączanego pliku, a drugi nie. W wypadku gdy plik nie może być dołączany, zwracane jest &false; i zgłaszany jest błąd E_WARNING. Jeżeli w dołączanym pliku zdefiniowano funkcję, mogą one być użyte w w pliku głównym, niezależnie czy znajdują się przed, czy za return. Jeżeli plik jest dołączany dwa razy, PHP zgłasza błąd krytyczny, ponieważ funkcje zostały już zadeklarowane. Zaleca się użycie include_once zamiast sprawdzania, czy plik został już dołączony i warunkowego zwracania w dołączanym pliku. Innym sposobem "dołączenia" pliku PHP do zmiennej jest pokrycie wyjścia za pomocą Funkcji Kontroli Wyjścia użytych include. Na przykład: Użycie buforowania wyjścia do załączenia pliku PHP jako ciąg ]]> Aby automatycznie dołączyć pliki wewnątrz skryptu, zobacz opcje auto_prepend_file i auto_append_file w &php.ini;. ¬e.language-construct; Zobacz także require, require_once, include_once, get_included_files, readfile, virtual i include_path.