1

我有以下从某处获得的代码,但它似乎不起作用:

function http() {
 $pageURL = 'http';
 if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
 $pageURL .= "://";
 return $http;
}

有人可以帮忙吗?

我正在尝试做的是在我输入 $http 时返回网站协议

前任:

<a href="<?php echo $http . $websiteurl .'/index.php' ?>">Website URL including Protocol</a>

我的 $websiteurl 已关闭,我似乎无法让它回显 http 与 https。我对功能了解不多,所以我不确定如何解决它。

4

4 回答 4

4

http是一个函数,所以你不要像使用变量一样调用它$

尝试:

function http() {
 $pageURL = 'http';
 if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
 $pageURL .= "://";
 return $pageURL; // <-changed
}

<a href="<?php echo http() . $websiteurl . '/index.php'; ?>">Website URL including Protocol</a>

澄清:

$http = 'variable';

function http() {
  return 'function';
}

var_dump($http);
var_dump(http());
于 2013-03-18T15:06:07.740 回答
2
<a href="<?php echo http() . $websiteurl .'/index.php' ?>">Website URL including Protocol</a>
于 2013-03-18T15:06:08.453 回答
1

您正在尝试获取http()via的值$http。试试这个:

<a href="<?php echo http() . $websiteurl .'/index.php' ?>">Website URL including Protocol</a>

$httpin 只定义在一个http()功能范围内。

于 2013-03-18T15:05:49.580 回答
1

E_NOTICE该函数将按原样触发错误,试试这个:

function http() {
     return (getenv('HTTPS') == "on" ? 'https://' : 'http://');
}

然后正如 mkjasinski 所说,

<a href="<?php echo http() . $websiteurl .'/index.php'; ?>">Website URL including Protocol</a>
于 2013-03-18T15:08:34.553 回答