使用php get_headers 判斷URL是否有效的解決辦法
在php中判斷一個(gè)文件或目錄是否存在,大家通常都會(huì)想到is_file和file_exists兩個(gè)函數(shù)。但這兩個(gè)函數(shù)再判斷一個(gè)遠(yuǎn)程url文件是否存在的問題上還是會(huì)存在這樣那樣的問題。這里作者將和大家分享一種利用php get_headers函數(shù)來判斷遠(yuǎn)程url文件是有效否存在的辦法。
關(guān)于php get_headers函數(shù)的作用及用法,可以參考本站文章:
php中g(shù)et_headers函數(shù)的作用及用法的詳細(xì)介紹
下面來具體說如何利用php get_headers卻判斷url的真實(shí)有效性。
通過該函數(shù)的介紹,我們可以知道對于這個(gè)函數(shù)簡單的說就是它返回的是一個(gè)HTTP請求的頭文件信息,信息格式基本如下:
(1)
Array
(
[0] => HTTP/1.1 200 OK
[1] => Date: Sat, 29 May 2004 12:28:13 GMT
[2] => Server: Apache/1.3.27 (Unix) (Red-Hat/Linux)
[3] => Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT
[4] => ETag: "3f80f-1b6-3e1cb03b"
[5] => Accept-Ranges: bytes
[6] => Content-Length: 438
[7] => Connection: close
[8] => Content-Type: text/html
)
(2)
Array
(
[0] => HTTP/1.0 404 Not Found
[1] => Date: Sat, 29 May 2004 12:28:13 GMT
[2] => Server: Apache/1.3.27 (Unix) (Red-Hat/Linux)
[3] => Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT
[4] => ETag: "3f80f-1b6-3e1cb03b"
[5] => Accept-Ranges: bytes
[6] => Content-Length: 438
[7] => Connection: close
[8] => Content-Type: text/html
)
從以上兩種情況可以很容易看出,如果判斷該url是否有效存在肯定是通過數(shù)組中的第一個(gè)元素值來判斷的。服務(wù)器返回 200 即文件正確返回的意思,服務(wù)器返回 404 即文件不存在,因此從這個(gè)地方就可以很容易的判斷一個(gè)url的是否存在了。
(詳細(xì)出處:PHP程序員筆記)
- PHP使用get_headers函數(shù)判斷遠(yuǎn)程文件是否存在的方法
- PHP判斷是否有Get參數(shù)的方法
- php提交表單時(shí)判斷 if($_POST[submit])與 if(isset($_POST[submit])) 的區(qū)別
- php判斷是否為ajax請求的方法
- php中如何判斷一個(gè)網(wǎng)頁請求是ajax請求還是普通請求
- PHP中如何判斷AJAX提交的數(shù)據(jù)
- 在php中判斷一個(gè)請求是ajax請求還是普通請求的方法
- PHP簡單獲取及判斷提交來源的方法
- php不允許用戶提交空表單(php空值判斷)
- PHP自定義函數(shù)判斷是否為Get、Post及Ajax提交的方法
相關(guān)文章
Symfony2實(shí)現(xiàn)在controller中獲取url的方法
這篇文章主要介紹了Symfony2實(shí)現(xiàn)在controller中獲取url的方法,實(shí)例分析了Symfony獲取URL的常用方法與使用技巧,需要的朋友可以參考下2016-03-03
php生成縮略圖示例代碼分享(使用gd庫實(shí)現(xiàn))
分享一個(gè)利用php的GD庫生成縮略圖的例子,大家參考使用吧2014-01-01
ThinkPHP 3.2.3實(shí)現(xiàn)頁面靜態(tài)化功能的方法詳解
頁面靜態(tài)化是我們在開發(fā)網(wǎng)站的時(shí)候經(jīng)常需要的一個(gè)功能,下面這篇文章主要給大家介紹了關(guān)于ThinkPHP 3.2.3實(shí)現(xiàn)頁面靜態(tài)化功能的方法,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。2017-08-08
Symfony2框架創(chuàng)建項(xiàng)目與模板設(shè)置實(shí)例詳解
這篇文章主要介紹了Symfony2框架創(chuàng)建項(xiàng)目與模板設(shè)置的方法,結(jié)合實(shí)例形式詳細(xì)分析了Symfony2框架的具體步驟與詳細(xì)實(shí)現(xiàn)代碼,需要的朋友可以參考下2016-03-03

