-1

我基本上是在寻找一个 if 语句:

如果 (....) { }

别的 { }

...这将检查当前文件是否在远程服务器上(在线,在我的网站上,而不是在我使用 Xampp 或 Mamp 的本地配置中)。

我已经做了一些研究,它把我带到了file_exists,但我不确定这是否是我想要的,或者是否有更好的方法来做到这一点。

我不确定我这样做是否相关但这里有:我在functions.php页面中有几个不同的配置,我希望它在生产和测试时表现不同-本地模式。

4

3 回答 3

3

您的问题中遗漏了一些条件,例如该文件是否甚至可以通过 HTTP 请求调用,以及您是否关心远程服务器上的文件是否相同。如果您只关心文件的存在,并且它通过 HTTP 公开,您可以对该文件发出 HTTP 请求,并检查响应代码。您可能希望在文件中放置一些处理逻辑来处理这些请求。如果无法通过 HTTP 请求访问该文件,还有几个选项:

1)创建一个脚本只是为了检查文件。这将需要一些额外的工作来确保它的安全。2) FTP 进入服务器并尝试下载文件。

对于任何一种解决方案,如果您想知道文件在两个地方是否相同,您可以在两端使用 MD5 哈希来查找。

于 2013-10-24T20:58:30.960 回答
1

如果文件将在不同的主机上,您可以检查 usinggethostbyaddr并将其与您的 localhost 或服务器匹配,然后是相应的操作语句。

于 2013-10-24T20:53:58.990 回答
1

如果文件是远程的,您可以使用返回 FALSE 的filectime

$remote = empty(@filectime($url));
if ($remote) {
  // File is remote.
}
else {
  // File is local.
}
于 2015-07-05T16:32:20.617 回答