相关疑难解决方法(0)

PHP获取站点URL协议 - http vs https

我写了一个小功能来建立当前的网站URL协议,但我没有SSL,也不知道如何测试它是否在https下工作.你能告诉我这是否正确吗?

function siteURL()
{
    $protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://";
    $domainName = $_SERVER['HTTP_HOST'].'/';
    return $protocol.$domainName;
}
define( 'SITE_URL', siteURL() );
Run Code Online (Sandbox Code Playgroud)

是否有必要像上面那样做,或者我可以这样做吗?:

function siteURL()
{
    $protocol = 'http://';
    $domainName = $_SERVER['HTTP_HOST'].'/'
    return $protocol.$domainName;
}
define( 'SITE_URL', siteURL() );
Run Code Online (Sandbox Code Playgroud)

在SSL下,即使锚标记网址使用http,服务器也不会自动将网址转换为https?是否有必要检查协议?

谢谢!

php url ssl

189
推荐指数
10
解决办法
22万
查看次数

如何获取相关目录,无论它包含在PHP中的哪个位置?

如果是的话Path_To_DocumentRoot/a/b/c.php,应该永远/a/b.

我用这个:

dirname($_SERVER["PHP_SELF"])
Run Code Online (Sandbox Code Playgroud)

但是当它被另一个目录中的另一个文件包含时,它将无法工作.

编辑

我需要一个相对路径来记录root.它在web应用程序中使用.

我发现还有另一个问题存在同样的问题,但尚未接受答案.

PHP - 将文件系统路径转换为URL

php path

13
推荐指数
3
解决办法
4万
查看次数

php获取当前文件目录的URL

对你来说可能是一个简单的问题,但我对这个问题感到很头疼。

我有一个 php 文件,它需要知道它的当前目录 url 才能链接到与其自身相关的内容。

例如,目前我知道获取当前目录路径而不是 url。当我使用它时,我得到了路径:

realpath(__DIR__)
Run Code Online (Sandbox Code Playgroud)

结果:

/Applications/MAMP/htdocs/mysite/dir1/dir2/dir3
Run Code Online (Sandbox Code Playgroud)

但这将是我想要的结果:

http://localhost:8888/dir1/dir2/dir3
Run Code Online (Sandbox Code Playgroud)

请注意,这不是当前页面的位置。该页面从“ http://localhost:8888/dir1/dir2/dir3/myfile.php ”调用文件,“ myfile.php”具有上面的脚本。

-- 编辑以详细说明更多细节 -- 感谢您的回答。但我知道我需要添加更多细节。

php

8
推荐指数
3
解决办法
2万
查看次数

标签 统计

php ×3

path ×1

ssl ×1

url ×1