HTTP-otsakkeiden ongelma include-lauseessa PHP:ssä

Ongelma HTTP-otsakkeiden kanssa voi myös ilmetä tiedostojen includessa include-komennolla. Se tulee esiin silloin, kun sulkevan tagin ?> jälkeen on asetettu välilyöntejä tai tyhjiä rivejä, näin:

file.php<?php
  // jotain koodia
?>

 

Tässä tapauksessa, kun includemme tiedostomme toiseen tiedostoon, jätetyt tyhjät rivit vaikuttavat kuin ne tulostettaisiin näytölle:

index.php<?php
  include 'file.php'; // sisällä tulostus näytölle
  
  header('Content-Type: text/html');
?>

Ongelman korjaamiseksi on parasta poistaa viimeinen sulkeva ?> kaikista PHP-tiedostoista. Tämä menetelmä ei aiheuta virhettä PHP:ssä ja samalla se suojaa meidät vahingolliselta tyhjien rivien lisäämiseltä. Korjataan tiedostomme:

file.php<?php
  // jotain koodia
  
   
Задание 1

Korjaa seuraavassa koodissa tehdyt virheet:

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

Korjaa seuraavassa koodissa tehdyt virheet:

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