Masalah dengan Tajuk HTTP apabila include dalam PHP
Masalah dengan tajuk HTTP juga boleh
berlaku apabila memasukkan fail melalui
include. Ia akan muncul dalam kes
di mana selepas tag penutup ?>
terdapat ruang atau baris kosong,
seperti ini:
<?php
// some code
?>
Dalam kes ini, apabila fail kami dimasukkan ke dalam fail lain, baris kosong yang ditinggalkan akan bertindak sebagai output ke skrin:
<?php
include 'file.php'; // terdapat output dalam fail
header('Content-Type: text/html');
?>
Untuk menyelesaikan masalah ini, lebih baik dalam semua
fail PHP, tag penutup ?> yang terakhir
dipadamkan. Teknik ini tidak menyebabkan ralat
PHP dan pada masa yang sama melindungi kita daripada secara tidak sengaja
menambah baris kosong. Mari betulkan
fail kami:
<?php
// some code
Betulkan ralat yang dilakukan dalam kod berikut:
<?php
function func1() {
echo '1';
}
?>
<?php
function func2() {
echo '2';
}
?>
<?php
include 'file1.php';
include 'file2.php';
header('Content-Type: text/html');
?>
Betulkan ralat yang dilakukan dalam kod berikut:
<?php
function func1() {
echo '1';
}
?>
<?php
function func2() {
echo '2';
}
?>
<?php
include 'file.php';
header('Content-Type: text/html');
?>