Определение запуска: из консоли или "из браузера".

lorien

Новичок
Определение запуска: из консоли или "из браузера".

У меня есть класс для вывода сообщений. Он сам определяет, как был запущен, анализируя php_sapi_name(). Вот вот я подумал, что ведь можно запустить, скрипт и через "простой"(не CLI) php из консоли. Как быть в таком случае?

А вся эта бадяга для того, чтобы в бразуер выводить HTML-код, а в консоль простой plain-text.
 

ybilevych

Новичок
А может проверить на существование переменных, специфических для браузера?
Например $_GET?
 

lorien

Новичок
PHP:
<?php

print php_sapi_name()."\n";
var_dump($_GET);

?>
Код:
>php.exe -f test.php
cgi-fcgi
array(0) {
}
 

lorien

Новичок
Ага, спасибо, кажется оно самое.
PHP:
$sapi = php_sapi_name();
		
if ( $sapi == "cli" ) (
	$this->outputMode = OUTPUT_MODE_TXT;
} elseif (
	false !== strstr($sapi,"cgi") and
	! isset($_SERVER['DOCUMENT_ROOT'])
) {
	$this->outputMode = OUTPUT_MODE_TXT;
} else {
	$this->outputMode = OUTPUT_MODE_HTML;
}
 
Сверху