如何区分 URL 是在服务器上还是在服务器外(远程)?

How to differentiate a URL is on server or off server (remote)?

我正在接受用户输入的可下载文件,他们可以上传到那里-

因为我 implementing a download button (with some process), then I came to know从远程服务器下载文件不是这样的。这就是为什么我需要检查 URL 是我自己的服务器还是来自外部服务器。

如果我可以通过简单的条件区分两者,那么我可以将流程传递给是否:

从文件 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'];

http://php.net/manual/en/function.parse-url.php