HTTP სათაურების პრობლემა PHP-ში ფაილების ჩართვისას

HTTP სათაურების პრობლემა ასევე შეიძლება ჩნდეს ფაილების ჩართვისას include-ის მეშვეობით. ის გამოიხატება იმ შემთხვევაში, როდესაც დამხურავი ფიგურული ფრჩხილის ?> შემდეგ დამატებულია სივრცეები ან ცარიელი ხაზები, აი ასე:

file.php<?php
  // some code
?>

 

ამ შემთხვევაში, ჩვენი ფაილის სხვა ფაილში ჩართვისას, დატოვებული ცარიელი ხაზები იმოქმედებს, როგორც ეკრანზე გამოტანა:

index.php<?php
  include 'file.php'; // შიგნით არის გამოტანა ეკრანზე
  
  header('Content-Type: text/html');
?>

პრობლემის გამოსასწორებლად, უკეთესია ყველა PHP ფაილში ბოლო დამხურავი ?> წაიშალოს. ასეთი მიღება არ იწვევს შეცდომას PHP-ში და ამავდროულად გვიცავს შემთხვევითი ცარიელი ხაზების დამატებისგან. მოდით, გამოვასწოროთ ჩვენი ფაილი:

file.php<?php
  // some code
  
   
Задание 1

გამასწორეთ შეცდომები, რომლებიც დაშვებულია შემდეგ კოდში:

file1.php<?php
  function func1() {
    echo '1';
  }
?>

 
file1.php<?php
  function func2() {
    echo '2';
  }
?>

 
index.php<?php
  include 'file1.php';
  include 'file2.php';
  header('Content-Type: text/html');
?>

 
Задание 2

გამასწორეთ შეცდომები, რომლებიც დაშვებულია შემდეგ კოდში:

file.php<?php
  function func1() {
    echo '1';
  }
?>
<?php
  function func2() {
    echo '2';
  }
?>
 
index.php<?php
  include 'file.php';
  header('Content-Type: text/html');
?>