HTTP antraščių problema įtraukiant failus naudojant PHP
HTTP antraščių problema gali
atsirasti ir įtraukiant failus naudojant
include. Ji pasireiškia tada,
kai po uždarančios PHP žymos ?>
yra palikti tarpai ar tuščios eilutės,
kaip parodyta čia:
<?php
// some code
?>
Tokiu atveju, įtraukus mūsų failą į kitą failą, paliktos tuščios eilutės bus interpretuojamos kaip išvestis į ekraną:
<?php
include 'file.php'; // viduje yra išvestis į ekraną
header('Content-Type: text/html');
?>
Norint išspręsti šią problemą, visuose
PHP failuose geriau pašalinti paskutinę uždarančią
žymą ?>. Šis metodas nesukelia PHP klaidų
ir tuo pačiu apsaugo mus nuo atsitiktinio
tuščų eilučių pridėjimo. Pataisykime
mūsų failą:
<?php
// some code
Ištaisykite klaidas, padarytas šiame kode:
<?php
function func1() {
echo '1';
}
?>
<?php
function func2() {
echo '2';
}
?>
<?php
include 'file1.php';
include 'file2.php';
header('Content-Type: text/html');
?>
Ištaisykite klaidas, padarytas šiame kode:
<?php
function func1() {
echo '1';
}
?>
<?php
function func2() {
echo '2';
}
?>
<?php
include 'file.php';
header('Content-Type: text/html');
?>