Problem z nagłówkami HTTP przy include w PHP
Problem z nagłówkami HTTP może również
wystąpić przy includowaniu plików przez
include. Objawi się to w przypadku,
gdy po zamykającym znaczniku ?>
znajdują się spacje lub puste linie,
w ten sposób:
<?php
// some code
?>
W tym przypadku przy includowaniu naszego pliku do innego pliku pozostawione puste linie zadziałają jak wyjście na ekran:
<?php
include 'file.php'; // wewnątrz wyjście na ekran
header('Content-Type: text/html');
?>
Aby naprawić problem, najlepiej we wszystkich
plikach PHP usuwać ostatni zamykający
?>. Taki zabieg nie prowadzi do błędu
PHP i jednocześnie zabezpiecza nas przed przypadkowym
dodaniem pustych linii. Poprawmy
nasz plik:
<?php
// some code
Popraw błędy popełnione w następującym kodzie:
<?php
function func1() {
echo '1';
}
?>
<?php
function func2() {
echo '2';
}
?>
<?php
include 'file1.php';
include 'file2.php';
header('Content-Type: text/html');
?>
Popraw błędy popełnione w następującym kodzie:
<?php
function func1() {
echo '1';
}
?>
<?php
function func2() {
echo '2';
}
?>
<?php
include 'file.php';
header('Content-Type: text/html');
?>