include

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök

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å

Sidslut

Orginalhemsidan på Engelska :
PHP
Språkreferens
Språkreferens#Kontrollstrukturer