2007年05月10日

TWPUG問答 - 如何偵測URL資源是否存在

Tags: 偵測URL http socket

問: 如何偵測網路圖片是否存在?如http://www.example.com/xxx.png。並回傳結果。

如果僅需偵測是否存在,而不要下載整份文件。僅需要透過 HTTP 協定 (RFC2616)HEAD method 即可達成目的。依 HTTP 協定之狀態定義,文件存在時回應代碼 200 ,不存在時回應 404 。我們可以此作為回傳值。


fsockopen()開啟TCP網路連線,送出 HTTP HEAD method 請求(第15-17行)。接著讀取伺服器回應,並解析狀態碼(第19-20行)。最後回傳結果。


Posted by shirock at 樂多Roodo! │09:28 │回應(2)引用(1)PHP
樂多分類:網路/3C 共同主題:PHP基本語法 工具:編輯本文
Ads by Roodo! 

引用URL

http://cgi.blog.roodo.com/trackback/3215473
引用列表:
Good question. PHP 的偵測動作是在 server-side ,它可能增加 Server 不必要的網路負荷。如果改由 JavaScript 進行偵測動作,就可以把偵測動作分派給 client 去做。這是一種 Ajax 的應用。
TWPUG問答 - 如何偵測URL資源是否存在, Ajax way【石頭閒語】 at 2007年05月10日 16:59
回應文章
JavaScript have onerror event too.
Posted by Ka-Yue at 2007年05月10日 10:49
Good question. 如果改由 JavaScript 進行偵測動作,就可以把偵測動作分派給 client 去做。這是一種 Ajax 的應用, See 如何偵測URL資源是否存在, Ajax way
Posted by 遊手好閒的石頭成 at 2007年05月10日 17:07