Проблема с заголовками HTTP при include в 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');
?>