Выдача http-заголовка для ошибки 404

Функция sendStatus404 отправляет клиенту заголовок с 404-й ошибкой в зависимости от инсталляции PHP на сервере.

У функции есть два необязательных параметра. С помощью первого $ERROR_TEXT_404 можно вывести информационный текст. Второй параметр $bExit указывает, нужно ли завершение программы:
true — завершить программу после выдачи заголовка и информационного сообщения;
false — не завершать (полезно, если у вас есть страница, отображающая 404-ю ошибку).

<?php
function sendStatus404($ERROR_TEXT_404 = '', $bExit = true){
	while(ob_get_level() > 0) ob_end_clean();
	if(!defined('CSM_HEADER_IS_SENDED')){
		$SAPI_NAME = php_sapi_name();
		$header = ($SAPI_NAME == 'cgi' || $SAPI_NAME == 'cgi-fcgi') ?
			'Status: 404 Not Found' :
			'HTTP/1.1 404 Not Found';
		header($header);
		define('CSM_HEADER_IS_SENDED', $header);
	}
	if($ERROR_TEXT_404 !='') print $ERROR_TEXT_404;
	if($bExit) exit();
}
?>