include
Include
(PHP 4, PHP 5, PHP 7, PHP 8)
include-uttrycket inkluderar och utvärderar den angivna filen. Dokumentationen nedan gäller även för require.
Filinkludering
Filer inkluderas baserat på den angivna filsökvägen eller, om ingen är given, den specificerade include_path. Om filen inte hittas i include_path, kommer include att kontrollera i det anropande skriptets egen katalog och den aktuella arbetskatalogen innan det misslyckas. Konstruktionen include kommer att ge en E_WARNING om den inte kan hitta en fil; detta skiljer sig från require, som kommer att ge ett E_ERROR.
Variabelomfång
När en fil är inkluderad, ärver koden den innehåller variabelomfånget från raden där include inträffar. Alla variabler som är tillgängliga på den raden i det anropande filen kommer att vara tillgängliga inom den anropade filen, från den punkten framåt. Funktioner och klasser definierade i den inkluderade filen har globalt omfång.
Exempel på grundläggande användning
// Fil: vars.php <?php $color = 'green'; $fruit = 'apple'; ?> // Fil: test.php <?php echo "A $color $fruit"; // Utmatning: A include 'vars.php'; echo "A $color $fruit"; // Utmatning: A green apple ?>
Inkludering inom funktioner
Om include sker inuti en funktion inom den anropande filen, kommer all kod i den anropade filen att bete sig som om den hade definierats inom den funktionen. Magiska konstanter som __FILE__ och __DIR__ utvärderas av tolken innan include inträffar.
// Funktion med include function foo() { global $color; include 'vars.php'; echo "A $color $fruit"; // Utmatning: A green apple } foo();
HTTP Inkludering
Om "URL include wrappers" är aktiverade i PHP, kan du specificera filen som ska inkluderas med hjälp av en URL istället för en lokal sökväg. Detta är dock förenat med säkerhetsrisker och kräver noggrann hantering.
Säkerhetsvarningar
Fjärrinkludering kan leda till säkerhetsproblem om fjärrservern behandlar filer på ett sätt som inte är avsett. Lokal exekvering av fjärrskript kan innebära risker, och funktioner som readfile() kan vara säkrare alternativ för att bara hämta fjärrdata.
Hantering av returvärden
include returnerar FALSE vid misslyckande och en varning utfärdas. Framgångsrika inkluderingar returnerar 1 om inte den inkluderade filen själv överskriver detta värde.
$foo = include 'return.php'; // Anta att return.php returnerar 'PHP' echo $foo; // Utmatning: PHP
Notera
Eftersom detta är en språkkonstruktion och inte en funktion, kan include inte anropas med variabla funktioner eller namngivna argument.
Se också
- require
- require_once
- include_once
- get_included_files()
- readfile()
- virtual()
- include_path
Sidslut
Orginalhemsidan på Engelska :
PHP
Språkreferens
Språkreferens#Kontrollstrukturer