Problem med HTTP-headere ved inkludering i PHP
Problemer med HTTP-headere kan også
opstå ved inkludering af filer via
include. Det vil vise sig i det tilfælde,
hvor der efter den lukkende tag ?>
er mellemrum eller tomme linjer,
sådan her:
<?php
// some code
?>
I dette tilfælde, når vores fil inkluderes i en anden fil, vil de efterladte tomme linjer fungere som udskrift til skærmen:
<?php
include 'file.php'; // indeholder udskrift til skærmen
header('Content-Type: text/html');
?>
For at løse problemet er det bedre i alle
PHP-filer at fjerne den sidste lukkende
?>. Denne teknik fører ikke til fejl
i PHP og beskytter os samtidig mod tilfældig
tilføjelse af tomme linjer. Lad os rette
vores fil:
<?php
// some code
Ret fejlene i følgende kode:
<?php
function func1() {
echo '1';
}
?>
<?php
function func2() {
echo '2';
}
?>
<?php
include 'file1.php';
include 'file2.php';
header('Content-Type: text/html');
?>
Ret fejlene i følgende kode:
<?php
function func1() {
echo '1';
}
?>
<?php
function func2() {
echo '2';
}
?>
<?php
include 'file.php';
header('Content-Type: text/html');
?>