php检测文档索引是否为localhost

标签 php wordpress if-statement ip-address

我想知道如何检测用户是否在本地主机上。

我这样做的原因是我可以在实时服务器上自动运行生产代码,但在我的机器上运行未压缩的代码,而不必一直更改链接。

我知道我可以像这样在 JS 中做到这一点... if(document.URL.indexOf("localhost:8888") <= 0){

但我需要在 Php 中为我的 WordPress 安装完成它。我在这里遇到过类似的问题 - How can I detect if the user is on localhost in PHP?

所以我尝试了这个(如下),但是它无法加载任何东西

<?php if(IPAddress::In(array("127.0.0.1","::1"))) { ?>
        <script src="<?php bloginfo('template_url'); ?>/js/scripts.js"></script>
<?php } ?>

我也尝试过此处建议的解决方案,但同样对我不起作用 How can I detect if the user is on localhost in PHP?

如果这些细节有帮助,我在 Mac 上使用 MAMP,并安装了 WordPress。

最佳答案

使用 $_SERVER 全局变量:http://www.php.net/manual/en/reserved.variables.server.php

if (in_array($_SERVER['REMOTE_ADDR'], array('127.0.0.1', '::1'))) {
    // code for localhost here
}

编辑:关于 TerryE 的评论,您可能想做这样的事情(或查看他的正则表达式答案,尽管可能不需要):

if (substr($_SERVER['REMOTE_ADDR'], 0, 4) == '127.'
        || $_SERVER['REMOTE_ADDR'] == '::1') {
    // code for localhost here
}

因为 localhost 可以是 127.0.0.0/8 中的任何内容,尽管 127.0.0.1 是最常见的。 http://en.wikipedia.org/wiki/Localhost

虽然我原来的答案可能没问题(Symfony2 默认使用它来“保护”app_dev.php 免受意外生产使用)

关于php检测文档索引是否为localhost,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9253739/

相关文章:

wordpress - 重力形式 : No display when conditional logic, 即使使用 wp_footer() 和在部分中下载的 jQuery

iphone - if 语句推送到 els 上的 viewController 不起作用

matlab. if/else if/else 语句中的矢量化

javascript - 检查一个值是否在一个数字范围内

php - 在 Laravel 5.5 中使用 JQuery AJAX 填充表格

php - 编译php扩展时出现编译错误

html - 为什么我的 HTML 文本区域中有一个空白,而我的文本区域中有占位符?

wordpress - WP API 评论 : posting a comment containing emojis?

php - 通过 laravel Mysql 使用 Distinct 和 group

php - 选择下一个现有的qID