Plik Include w PHP
Serwerowe zawieranie (SSI) służy do tworzenia funkcji, nagłówków, stopków lub elementów, które można powtarzać na wielu stronach.
Polecenia include (lub require) pobierają wszystkie istniejące teksty/kody/znaki z określonego pliku i kopiują je do pliku, który używa polecenia include.
Zawieranie plików jest bardzo przydatne, jeśli na wielu stronach swojej witryny musisz używać tych samych plików PHP, HTML lub tekstowych.
Polecenia include i require w PHP
Poprzez polecenia include lub require można włączyć zawartość jednego pliku PHP do innego (przed jego wykonaniem na serwerze).
Zarówno polecenia include, jak i require są takie same, z wyjątkiem obsługi błędów:
- require generuje krytyczny błąd (E_COMPILE_ERROR) i zatrzymuje skrypt
- include generuje tylko ostrzeżenia (E_WARNING), a skrypt kontynuuje
Dlatego, jeśli chcesz kontynuować wykonywanie i wyświetlać wyniki użytkownikowi, nawet jeśli plik włączony został utracony, użyj include. W przeciwnym razie, w ramkach, CMS lub złożonych aplikacjach PHP, zawsze używaj require do odwoływania się do kluczowych plików w strumieniu wykonywania. To pomaga zwiększyć bezpieczeństwo i integralność aplikacji, w przypadku przypadkowej utraty kluczowego pliku.
Włączanie plików oszczędza mnóstwo pracy. Oznacza to, że możesz utworzyć standardowe nagłówki, stopki lub pliki menu dla wszystkich stron. Następnie, gdy musisz zaktualizować nagłówek, wystarczy zaktualizować włączony plik nagłówka.
Gramatyka
include 'filename';
lub
require 'filename';
PHP include przykład
Przykład 1
Załóżmy, że mamy standardowy plik noga o nazwie "footer.php", tak jak to:
<?php echo "<p>Copyright © 2006-" . date("Y") . " codew3c.com</p>"; ?>
Jeśli chcesz użyć tego pliku noga na stronie, użyj polecenia include:
<html> <body> <h1>Witamy na naszej stronie głównej!</h1> <p>Tekst.</p> <p>Tekst.</p> <?php include 'footer.php';?> </body> </html>
Przykład 2
Załóżmy, że mamy standardowy plik menu o nazwie "menu.php":
<?php echo '<a href="/index.asp">Strona główna</a> - <a href="/html/index.asp">HTML Tutorial</a> - <a href="/css/index.asp">CSS Tutorial</a> - <a href="/js/index.asp">JavaScript Tutorial</a> - <a href="/php/index.asp">PHP Tutorial</a>'; ?>
Wszystkie strony na stronie używają tego pliku menu. Konkretnie, używamy elementu <div>, aby łatwo ustawić styl za pomocą CSS w przyszłości:
<html> <body> <div class="menu"> <?php include 'menu.php';?> </div> <h1>Witaj na mojej stronie domowej!</h1> <p>Tekst.</p> <p>Więcej tekstu.</p> </body> </html>
Przykład 3
Załóżmy, że mamy plik o nazwie "vars.php", w którym zdefiniowano pewne zmienne:
<?php $color='Srebrny'; $car='Benz'; ?>
Następnie, jeśli odniesiemy się do tego pliku "vars.php", możemy używać tych zmiennych w pliku wywołującym:
<html> <body> <h1>Witaj na mojej stronie domowej!</h1> <?php include 'vars.php'; echo "Mam $color $car."; ?> </body> </html>
PHP include vs. require
Polecenie require również jest używane do odwoływania się do plików w kodzie PHP.
Jednak, include i require mają ogromną różnicę: jeśli polecenie include odnosi się do pliku, a PHP nie może go znaleźć, skrypt będzie kontynuował działanie:
Przykład
<html> <body> <h1>Witaj na mojej stronie domowej!</h1> <?php include 'noFileExists.php'; echo "Mam $color $car."; ?> </body> </html>
Jeśli użycie polecenia require do ukończenia tego samego przypadku, polecenie echo nie będzie kontynuowane, ponieważ skrypt zakończy działanie po powrocie błędu krytycznego z polecenia require:
Przykład
<html> <body> <h1>Witaj na mojej stronie domowej!</h1> <?php require 'noFileExists.php'; echo "Mam $color $car."; ?> </body> </html>
Komentarz:
Proszę użyj require w tym momencie: gdy plik jest wymagany przez aplikację.
Proszę użyj include w tym momencie: gdy plik nie jest wymagany i aplikacja powinna kontynuować działanie, gdy plik nie zostanie znaleziony.