Problem med HTTP-headere ved include i PHP
Problemet med HTTP-headere kan også
oppstå ved inkludering av filer via
include. Det vil vise seg i det tilfellet
når det etter den lukkende taggen ?>
er satt mellomrom eller tomme linjer,
slik som dette:
<?php
// some code
?>
I dette tilfellet, når filen vår inkluderes i en annen fil, vil de etterlatte tomme linjene fungere som utskrift til skjermen:
<?php
include 'file.php'; // inneholder utskrift til skjermen
header('Content-Type: text/html');
?>
For å løse problemet er det best i alle
PHP-filer å fjerne den siste lukkende
?>. Denne metoden fører ikke til feil
i PHP og beskytter oss samtidig mot utilsiktet
tilføyelse av tomme linjer. La oss rette
filen vår:
<?php
// some code
Rett feilene som er gjort 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');
?>
Rett feilene som er gjort i følgende kode:
<?php
function func1() {
echo '1';
}
?>
<?php
function func2() {
echo '2';
}
?>
<?php
include 'file.php';
header('Content-Type: text/html');
?>