驗(yàn)證url有兩種一種是利用正則表達(dá)式來驗(yàn)證url是不是合適url規(guī)則了,另一個(gè)是利用函數(shù)來訪問指定url看看是否可正常訪問了,如果能正常訪問自然就是合法的url地址了。
例子1
代碼如下:
<?php
function isvalidurl($url) {
$patern = '/^http[s]?:\/\/'.
'(([0-9]{1,3}\.){3}[0-9]{1,3}'. // ip形式的url- 199.194.52.184
'|'. // 允許ip和domain(域名)
'([0-9a-z_!~*\'()-]+\.)*'. // 三級(jí)域驗(yàn)證- www.
'([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\.'. // 二級(jí)域驗(yàn)證
'[a-z]{2,6})'. // 頂級(jí)域驗(yàn)證.com or .museum
'(:[0-9]{1,4})?'. // 端口- :80
'((\/\?)|'. // 如果含有文件對(duì)文件部分進(jìn)行校驗(yàn)
'(\/[0-9a-za-z_!~\*\'\(\)\.;\?:@&=\+\$,%#-\/]*)?)$/';
if(!preg_match($patern, $url)) {
die( '您輸入的url格式有問題,請(qǐng)檢查!');
}
}
例子2
上面的例子只是驗(yàn)證url是不是正常的不代表是否可以訪問了,我們可以使用如curl函數(shù)進(jìn)行方法
代碼如下:
$url = ;
$curl = curl_init($url);
curl_setopt($curl, curlopt_nobody, true);
$result = curl_exec($curl);
if ($result !== false)
{
$statuscode = curl_getinfo($curl, curlinfo_http_code);
if ($statuscode == 404)
{
echo url not exists
}
else
{
echo url exists;
}
}
else
{
echo url not exists;
}
除了這個(gè)函數(shù)還可以使用php的很多函數(shù)如 file、file_get_contents()、fopen函數(shù)來進(jìn)行檢測了。
更多信息請(qǐng)查看IT技術(shù)專欄