PHP-обертывание кода внутри функции делает этот код неработоспособным

У меня есть этот код, и он отлично работает:

if(in_array($_SERVER['HTTP_HOST'], array('localhost', '127.0.0.1'))) // localhost
{
$root = '';
}
else
{
if(!empty($_SERVER['HTTPS'])) // https
{
$root = 'https'.'://'.$_SERVER['HTTPS_HOST'];
}
else // http
{
$root = 'http'.'://'.$_SERVER['HTTP_HOST'];
}
}

Я повторяю это так:

<img src="<?php echo $root.htmlspecialchars($path, ENT_QUOTES); ?>" />

Я хочу обернуть код внутри функции, например:

function root() {
// that code
}

И затем повторить это так:

<img src="<?php echo root().htmlspecialchars($path, ENT_QUOTES); ?>" />

Как это сделать? Потому что мой пример не работает. 🙁

1

Решение

Ваша функция не возвращает никакого значения, так что нет ничего, что можно повторить …
Попробуйте добавить return $root в конце вашей функции:

function root()
{
//that code
return $root;
}
3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]