PHP හි ඇතුළත් කිරීම් වලදී HTTP ශීර්ෂ පිළිබඳ ගැටලුව

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');
?>