Probleem met HTTP-headers bij include in PHP
Het probleem met HTTP-headers kan ook
voorkomen bij het includeren van bestanden via
include. Het manifesteert zich in het geval
wanneer er na de afsluitende tag ?>
spaties of lege regels zijn toegevoegd,
zoals hier:
<?php
// enkele code
?>
In dit geval werken de achtergelaten lege regels, wanneer ons bestand wordt geïncludeerd in een ander bestand, als uitvoer naar het scherm:
<?php
include 'file.php'; // binnenin zit uitvoer naar het scherm
header('Content-Type: text/html');
?>
Om het probleem op te lossen, is het beter om in alle
PHP-bestanden de laatste afsluitende
?> te verwijderen. Deze techniek leidt niet tot een fout
in PHP en beschermt ons tegelijkertijd tegen het per ongeluk
toevoegen van lege regels. Laten we ons
bestand corrigeren:
<?php
// enkele code
Verbeter de fouten die zijn gemaakt in de volgende code:
<?php
function func1() {
echo '1';
}
?>
<?php
function func2() {
echo '2';
}
?>
<?php
include 'file1.php';
include 'file2.php';
header('Content-Type: text/html');
?>
Verbeter de fouten die zijn gemaakt in de volgende code:
<?php
function func1() {
echo '1';
}
?>
<?php
function func2() {
echo '2';
}
?>
<?php
include 'file.php';
header('Content-Type: text/html');
?>