【问题标题】:how should I extract the protocl of the current request uri in php [duplicate]我应该如何在php中提取当前请求url的协议[重复]
【发布时间】:2014-05-10 16:02:26
【问题描述】:

我不知道我应该如何在 PHP 中获取当前的请求协议。我还没有找到任何直接的$_SERVER 键。我不希望从当前请求中拆分出一个直字符串。

例如:

http://localhost/someDomain

然后:

echo $_SERVER["protocl"];

// http

应该怎么做?

【问题讨论】:

  • 我不知道为什么人们投反对票...

标签: php


【解决方案1】:
$_SERVER["SERVER_PROTOCOL"];

是你要找的(请注意,这也会返回协议版本)

解决方法可能类似于

$protocol_version = $_SERVER["SERVER_PROTOCOL"];
$protocol = strpos($protocol_version, 'HTTPS') === false ? 'http' : 'https';

或(更一般的解决方案)

$protocol = explode('/',$_SERVER["SERVER_PROTOCOL"])[0]; //!! valid only in php > 5.3 !!
$protocol_array = explode('/',$_SERVER["SERVER_PROTOCOL"]);
$protocol = $protocol_array[0];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-31
    • 2015-08-15
    • 1970-01-01
    • 2021-11-29
    • 1970-01-01
    • 2019-12-04
    • 2016-06-27
    • 2010-11-19
    相关资源
    最近更新 更多