如何区分 URL 是在服务器上还是在服务器外(远程)?
How to differentiate a URL is on server or off server (remote)?
我正在接受用户输入的可下载文件,他们可以上传到那里-
- 到自己的服务器(即:
example.com/files/filename.ext
)
- 或者,到一个远程的。 (即:
external.org/someone/somewhere/filename.ext
)
因为我 implementing a download button (with some process), then I came to know从远程服务器下载文件不是这样的。这就是为什么我需要检查 URL 是我自己的服务器还是来自外部服务器。
如果我可以通过简单的条件区分两者,那么我可以将流程传递给是否:
- 一个on server way
- 或者,
从文件 URL 中获取主机名并与您的网络主机名进行比较
$fileHost = parse_url("example.com/files/filename.ext", PHP_URL_HOST);
//$fileHost == "example.com"
if($fileHost == $myHost)
{
//this is local file
}
else
{
//this is external file
}
您可以让您的PHP通过
获得$myHost
$myHost = $_SERVER['HTTP_HOST'];
我正在接受用户输入的可下载文件,他们可以上传到那里-
- 到自己的服务器(即:
example.com/files/filename.ext
) - 或者,到一个远程的。 (即:
external.org/someone/somewhere/filename.ext
)
因为我
如果我可以通过简单的条件区分两者,那么我可以将流程传递给是否:
- 一个on server way
- 或者,
从文件 URL 中获取主机名并与您的网络主机名进行比较
$fileHost = parse_url("example.com/files/filename.ext", PHP_URL_HOST);
//$fileHost == "example.com"
if($fileHost == $myHost)
{
//this is local file
}
else
{
//this is external file
}
您可以让您的PHP通过
获得$myHost$myHost = $_SERVER['HTTP_HOST'];