Проблем с HTTP заглавия при include в PHP
Проблем с HTTP заглавията може също
да възникне при включване на файлове чрез
include. Тя ще се прояви в случая,
когато след затварящата скоба ?>
има поставени интервали или празни редове,
ето така:
<?php
// някакъв код
?>
В този случай при включване на нашия файл в друг файл, оставените празни редове ще действат като изход към екрана:
<?php
include 'file.php'; // вътре има изход към екрана
header('Content-Type: text/html');
?>
За поправване на проблема е добре във всички
PHP файлове да се премахва последната затваряща
?>. Такъв подход не води до грешка
в PHP и в същото време ни предпазва от случайно
добавяне на празни редове. Нека поправим
нашия файл:
<?php
// някакъв код
Поправете грешките, допуснати в следния код:
<?php
function func1() {
echo '1';
}
?>
<?php
function func2() {
echo '2';
}
?>
<?php
include 'file1.php';
include 'file2.php';
header('Content-Type: text/html');
?>
Поправете грешките, допуснати в следния код:
<?php
function func1() {
echo '1';
}
?>
<?php
function func2() {
echo '2';
}
?>
<?php
include 'file.php';
header('Content-Type: text/html');
?>