PHP-da include orqali HTTP sarlavhalarida yuzaga keladigan muammo

HTTP sarlavhalaridagi muammo include orqali fayllarni qo'shishda ham yuzaga kelishi mumkin. Bu muammo, yopish qavsi ?> dan keyin bo'sh joy yoki bo'sh qatorlar qo'yilganida namoyon bo'ladi, masalan:

file.php<?php
  // biror kod
?>

 

Bunday holatda, bizning faylimizni boshqa faylga inklyud qilganda qoldirilgan bo'sh qatorlar ekranga chiqarilganidek ta'sir ko'rsatadi:

index.php<?php
  include 'file.php'; // ichida ekranga chiqarish
  
  header('Content-Type: text/html');
?>

Muammoni tuzatish uchun barcha PHP fayllarida oxirgi yopish ?> ni olib tashlash yaxshiroqdir. Bunday usul PHP xatosiga olib kelmaydi va shu bilan birga, tasodifiy bo'sh qatorlar qo'shilishidan himoya qiladi. Keling, faylimizni tuzatamiz:

file.php<?php
  // biror kod
  
   
Задание 1

Quyidagi kodda qilingan xatolarni tuzating:

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

Quyidagi kodda qilingan xatolarni tuzating:

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