上我基本上找一個if語句:檢查與PHP如果文件是遠程服務器
如果(....){}
其他{}
...將檢查當前文件是否在遠程服務器上(在線,在我的網站上,而不是在使用Xampp或Mamp的本地配置中)。
我已經完成了一些研究,它將我帶到了file_exists,但我不確定這是我想要的還是有更好的方法來做到這一點。
我不知道這是否是相關爲什麼我這樣做,但在這裏有雲:我有一個頁面的functions.php幾個不同的配置,我想它採取不同的行動時,它的生產,以及當它處於本地測試模式時。
上我基本上找一個if語句:檢查與PHP如果文件是遠程服務器
如果(....){}
其他{}
...將檢查當前文件是否在遠程服務器上(在線,在我的網站上,而不是在使用Xampp或Mamp的本地配置中)。
我已經完成了一些研究,它將我帶到了file_exists,但我不確定這是我想要的還是有更好的方法來做到這一點。
我不知道這是否是相關爲什麼我這樣做,但在這裏有雲:我有一個頁面的functions.php幾個不同的配置,我想它採取不同的行動時,它的生產,以及當它處於本地測試模式時。
如果文件位於不同的主機上,您可以使用gethostbyaddr
進行檢查,並將其與本地主機或服務器進行匹配,然後相應地執行操作語句。
有幾個條件已經被排除在您的問題之外,比如文件是否可以通過HTTP請求進行調用,以及您是否關心遠程服務器上的文件是否爲相同。如果您只關心文件的存在並通過HTTP公開,則可以爲該文件發出HTTP請求,並檢查響應代碼。您可能需要在文件中添加一些處理邏輯來處理這些請求。如果該文件不能通過HTTP請求訪問,則有幾個選項:
1)創建一個腳本來檢查文件。這需要一些額外的工作來確保安全。 2)FTP到服務器並嘗試下載文件。
使用這兩種解決方案之一,如果您希望知道兩個地方的文件是否相同,您可以在兩端使用MD5哈希查找。
如果文件是遠程文件,您可以使用filectime返回FALSE。
$remote = empty(@filectime($url));
if ($remote) {
// File is remote.
}
else {
// File is local.
}
'$ _ SERVER [「SERVER_ADDR」]' – Tchoupi
你必須拿出一些其他的標準比*當前文件是在遠程服務器上應該做的伎倆*。當前文件始終在本地服務器上,這就是* current *的原因。 – Oswald