HTTP վերնագրերի խնդիրը PHP-ում include-ի դեպքում
HTTP վերնագրերի հետ կապված խնդիր կարող է
առաջանալ նաև ֆայլերի include-ի միջոցով
ներառման դեպքում: Այն կդրսևորվի, երբ
փակման ?> թեգից հետո
ավելացված են բացատներ կամ դատարկ տողեր,
ահա այսպես.
<?php
// some code
?>
Այս դեպքում, երբ մեր ֆայլը ներառվում է մեկ այլ ֆայլում, թողնված դատարկ տողերը կգործեն ինչպես էկրանին արտածում.
<?php
include 'file.php'; // ներսում կա արտածում էկրանին
header('Content-Type: text/html');
?>
Խնդիրը ուղղելու համար ավելի լավ է բոլոր
PHP ֆայլերից հեռացնել վերջին փակման
?> թեգը: Այս մեթոդը չի առաջացնում
PHP-ի սխալ և միաժամանակ պաշտպանում է մեզ
դատարկ տողերի պատահական ավելացումից: Եկեք ուղղենք
մեր ֆայլը.
<?php
// some code
Ուղղեք հաջորդ կոդում թույլ տրված սխալները.
<?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');
?>