我在我的網站上使用gravatar作爲圖像,但是如果網絡不好,我想知道這一點,並以其他方式使用圖像。 那麼我怎麼知道一個特定的網站是否無法使用?如果網絡不在服務中,PHP會獲取信息
1
A
回答
1
無需複雜的套接字和其他遠程處理。您可以驗證,如果返回的圖像確實是使用PHP GD庫的圖像:
if(!$size = getimagesize($filename)) {
$image = 'images/default.jpg';
}
0
如果你的目標只是檢查一個網站是否關閉,你可以在php中簡單地做到這一點,如解釋here和。基本上,你會嘗試打開該網站,如果有負載,你承擔起它的運行,如果它不加載你假設網站已關閉。
0
試試這個:
<?php
function GetServerStatus($site, $port)
{
$fp = @fsockopen($site, $port, $errno, $errstr, 2);
if (!$fp)
return false;
else
return true;
}
?>
傳站點(或IP)和端口,它會返回false,如果網站關閉和真實,如果該網站是向上。這至少會告訴你網站是否停機。
+0
但可能需要一些時間才能失敗,具體取決於網絡如何關閉。如果您沒有DNS解析,可能會很快,但如果您獲得IP地址,超時可能需要一段時間才能發生。 – 2011-06-03 02:49:45
0
要知道,一個網站已關閉,你基本上需要嘗試,並從中得到一些數據(網頁,圖片,等等)並使用超時。如果在該時間段內沒有數據返回,則假設它已關閉。
這裏有一個簡單的方法:
<?php
ini_set('default_socket_timeout', 5);
function getNetworkStatus(url) {
return (file_get_contents(urlencode($url)) !== false)
}
?>
問題是你不能只是一味地查詢遠程服務器,這將增加一個很大的延遲到您的網頁/應用 - 你需要緩存此信息一段時間(數據庫,文件,不管)。
相關問題
- 1. 如何從亞馬遜網絡服務獲取圖書信息
- 2. 尋找一種網絡服務來獲取產品信息
- 3. 獲取服務器信息
- 4. 把信息放在網絡服務器上,然後用Xcode提取信息
- 5. 獲取有關WiFi網絡的信息
- 6. 獲取信息的數據從網絡
- 7. PyWin32獲取網絡信息/統計
- 8. 獲取網絡接口信息
- 9. 獲取低級iPhone網絡信息
- 10. Playstation網絡API獲取信息?
- 11. 與iPhone通信 - 互聯網 - .net Web服務/ php網絡服務
- 12. 在NSD中使用網絡服務信息時顯示爲空
- 13. 如何獲取新的消息,而不會在php中重載服務器?
- 14. 如何使用tcpdump獲取網絡中的設備信息?
- 15. 如何獲取iOS 5中的網絡信息?
- 16. 從網絡流中提取信息
- 17. 使用php獲取網站信息
- 18. Ajax獲取wsdl網絡服務請求
- 19. 獲取網絡服務響應數據
- 20. 無法從網絡服務獲取值
- 21. C++獲取服務網絡狀態linux
- 22. 使用SNMP獲取服務器信息
- 23. 使用javascript獲取服務器信息
- 24. 獲取服務器訪問信息
- 25. Doctrine DBAL獲取服務器信息
- 26. 獲取服務信息,而WMI
- 27. 使用soap服務獲取信息
- 28. 在Unix/Linux上提供檢查信息的網絡服務
- 29. 在網絡服務器上存儲使用信息
- 30. 如何獲取黑莓的NeighboringCell信息(與網絡信息有關)
簡單但有用! Thx〜 – Ovilia 2011-06-03 02:56:51
總是樂於提供幫助。提問並添加到收藏夾;) – 2011-06-03 02:58:13