PHP-де include жасаған кезде HTTP тақырыптарындағы мәселе

HTTP тақырыптарындағы мәселе include арқылы файлдарды қосқан кезде де пайда болуы мүмкін. Бұл жағдай жабылу жақшасы ?>-тен кейін бос орындар немесе бос жолдар қалдырылған кезде байқалады, мына түрде:

file.php<?php
  // код
?>

 

Бұл жағдайда біздің файлды басқа файлға инклудтеген кезде, қалдырылған бос жолдар экранға шығарылым ретінде әрекет етеді:

index.php<?php
  include 'file.php'; // ішінде экранға шығарылым бар
  
  header('Content-Type: text/html');
?>

Мәселені шешу үшін барлық PHP файлдарында соңғы жабылу ?>-ті жоюға болады. Бұл әдіс PHP қатесін тудырмайды және бізді кедейліктен бос жолдар қосылуынан қорғайды. Файлды түзетейік:

file.php<?php
  // код
  
   
Задание 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');
?>