HTTP-otsakkeiden ongelma include-lauseessa PHP:ssä
Ongelma HTTP-otsakkeiden kanssa voi myös
ilmetä tiedostojen includessa
include-komennolla. Se tulee esiin
silloin, kun sulkevan tagin ?>
jälkeen on asetettu välilyöntejä tai tyhjiä rivejä,
näin:
<?php
// jotain koodia
?>
Tässä tapauksessa, kun includemme tiedostomme toiseen tiedostoon, jätetyt tyhjät rivit vaikuttavat kuin ne tulostettaisiin näytölle:
<?php
include 'file.php'; // sisällä tulostus näytölle
header('Content-Type: text/html');
?>
Ongelman korjaamiseksi on parasta poistaa
viimeinen sulkeva ?> kaikista PHP-tiedostoista.
Tämä menetelmä ei aiheuta virhettä PHP:ssä
ja samalla se suojaa meidät vahingolliselta
tyhjien rivien lisäämiseltä. Korjataan
tiedostomme:
<?php
// jotain koodia
Korjaa seuraavassa koodissa tehdyt virheet:
<?php
function func1() {
echo '1';
}
?>
<?php
function func2() {
echo '2';
}
?>
<?php
include 'file1.php';
include 'file2.php';
header('Content-Type: text/html');
?>
Korjaa seuraavassa koodissa tehdyt virheet:
<?php
function func1() {
echo '1';
}
?>
<?php
function func2() {
echo '2';
}
?>
<?php
include 'file.php';
header('Content-Type: text/html');
?>