Problém s HTTP hlavičkami pri include v PHP
Problém s HTTP hlavičkami môže tiež
nastať pri includovaní súborov cez
include. Prejaví sa v prípade,
keď za zatváracou značkou ?>
ostanú medzery alebo prázdne riadky,
takto:
<?php
// nejaký kód
?>
V tomto prípade pri includovaní nášho súboru do iného súboru budú zostávajúce prázdne riadky pôsobiť ako výstup na obrazovku:
<?php
include 'file.php'; // vo vnútri je výstup na obrazovku
header('Content-Type: text/html');
?>
Na vyriešenie problému je najlepšie v všetkých
PHP súboroch odstrániť poslednú zatváraciu
značku ?>. Tento postup nespôsobí chybu
PHP a zároveň nás chráni pred náhodným
pridaním prázdnych riadkov. Opravme
náš súbor:
<?php
// nejaký kód
Opravte chyby, ktoré sú v nasledujúcom kóde:
<?php
function func1() {
echo '1';
}
?>
<?php
function func2() {
echo '2';
}
?>
<?php
include 'file1.php';
include 'file2.php';
header('Content-Type: text/html');
?>
Opravte chyby, ktoré sú v nasledujúcom kóde:
<?php
function func1() {
echo '1';
}
?>
<?php
function func2() {
echo '2';
}
?>
<?php
include 'file.php';
header('Content-Type: text/html');
?>