Το πρόβλημα με τις κεφαλίδες HTTP όταν γίνεται include σε PHP
Το πρόβλημα με τις κεφαλίδες HTTP μπορεί επίσης
να προκύψει κατά την ενσωμάτωση αρχείων μέσω της
include. Θα εκδηλωθεί στην περίπτωση
όταν μετά τον τελικό tag ?>
υπάρχουν κενά ή κενές γραμμές,
έτσι:
<?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');
?>