我基本上是在寻找一个if语句:
if(....){}
其他{}
...将检查当前文件是否在远程服务器上(在线,在我的网站上,而不是在我使用Xampp或Mamp的本地配置中)。
我已经做了一些研究,它把我带到file_exists,但我不确定这是否是我想要的,或者是否有更好的方法来做到这一点。
我不确定它是否相关为什么我正在这样做,但是这里有:我在functions.php页面中有几个不同的配置,我希望它在不同时采取不同的行动它是在生产中,当它在本地测试模式时。
答案 0 :(得分:3)
您的问题遗留了一些条件,例如文件是否可以通过HTTP请求进行调用,以及您是否关注文件是否相同远程服务器。如果您只关心文件是否存在,并且通过HTTP公开,则可以对该文件发出HTTP请求,并检查响应代码。您可能希望在文件中放置一些处理逻辑来处理这些请求。如果无法通过HTTP请求访问该文件,还有几个选项:
1)创建一个脚本以检查文件。这需要一些额外的工作才能确保安全。 2)FTP进入服务器并尝试下载文件。
使用任一解决方案,如果您想知道两个地方的文件是否相同,您可以在两端使用MD5哈希来查找。
答案 1 :(得分:1)
如果文件位于其他主机上,您可以使用gethostbyaddr
进行检查,并将其与本地主机或服务器进行匹配,然后相应地执行操作声明。
答案 2 :(得分:1)
如果文件是远程的,您可以使用返回FALSE的filectime。
$remote = empty(@filectime($url));
if ($remote) {
// File is remote.
}
else {
// File is local.
}