我在我的網站上使用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. 從網絡服務器獲取信息與swift
- 3. 尋找一種網絡服務來獲取產品信息
- 4. PHP代碼不會在網絡服務器上讀取
- 5. 獲取網絡服務
- 6. 獲取服務器信息
- 7. 把信息放在網絡服務器上,然後用Xcode提取信息
- 8. 獲取網絡接口信息
- 9. Playstation網絡API獲取信息?
- 10. 獲取低級iPhone網絡信息
- 11. 獲取有關WiFi網絡的信息
- 12. 獲取信息的數據從網絡
- 13. PyWin32獲取網絡信息/統計
- 14. 獲取網絡接口信息C++
- 15. 在PHP中獲取信息
- 16. 與iPhone通信 - 互聯網 - .net Web服務/ php網絡服務
- 17. Android從服務中獲取信息
- 18. 在NSD中使用網絡服務信息時顯示爲空
- 19. 如何在iOS上獲取網絡接口信息(例如'en0')?
- 20. 如何獲取新的消息,而不會在php中重載服務器?
- 21. Openbravo休息網絡服務
- 22. 通過亞馬遜網絡服務獲取書號信息與ISBN號碼
- 23. 如何使用tcpdump獲取網絡中的設備信息?
- 24. 如何獲取iOS 5中的網絡信息?
- 25. 在VB腳本中從Active Directory獲取網絡詳細信息?
- 26. 使用Python獲取移動信息在網絡中連接Nmap
- 27. 從網絡流中提取信息
- 28. 使用php獲取網站信息
- 29. C++獲取服務網絡狀態linux
- 30. 無法從網絡服務獲取值
簡單但有用! Thx〜 – Ovilia 2011-06-03 02:56:51
總是樂於提供幫助。提問並添加到收藏夾;) – 2011-06-03 02:58:13