检查localhost并忽略端口

时间:2013-01-15 11:03:16

标签: php

我设法找到一个用于检查localhost的php脚本,但是使用webmatrix时,总会有一个端口附加到url,端口会从一个站点更改为站点。

<?php if ($_SERVER['HTTP_HOST'] == 'localhost:62036')  { ?>
<style>
    #introContent {display:none !important;}
</style>
<?php } ?>

当前的项目已经基本完成,但是下一个项目能够在测试环境中禁用某些样式和功能将会派上用场。 我尝试使用strpos进行上述修改,但是没有用,我不确定如何正确使用子字符串。能够丢弃端口将使其在转移到其他项目时变得更简单,忘记更新就更少了。

非常感谢一些帮助

1 个答案:

答案 0 :(得分:2)

为了粗略地解决您的问题,您可以简单地采用字符串的第一部分:

<?php
$host = $_SERVER['HTTP_HOST'];
$colPos = strpos($host, ':');
$host = $colPos !== false ? substr($host, 0, $colPos) : $host;

if ($host == 'localhost') { ?>

但是,更好的方法是使用常量来设置您的环境名称,例如DEVPRODUCTION等。

您可以这样做......在config.php(或全局包含的文件)中:

<?php
define('ENVIRONMENT', 'DEV'); // or PRODUCTION

..然后在你的主文件中:

<?php if (ENVIRONMENT == 'DEV') { ?>