当前位置:首页 > PHP教程 > php应用 > 列表

php验证URL是否合法的函数

发布:smiling 来源: PHP粉丝网  添加日期:2015-04-04 16:18:46 浏览: 评论:0 

验证URL有两种一种是利用正则表达式来验证URL是不是合适url规则了,另一个是利用函数来访问指定url看看是否可正常访问了,如果能正常访问自然就是合法的url地址了.

例子1,代码如下:

  1. <?php 
  2. function isValidUrl($url) {
  3.     $patern = '/^http[s]?:\/\/'.  
  4.         '(([0-9]{1,3}\.){3}[0-9]{1,3}'.   // IP形式的URL- 199.194.52.184  
  5.         '|'.                               // 允许IP和DOMAIN(域名)  
  6.         '([0-9a-z_!~*\'()-]+\.)*'.         // 三级域验证- www.  
  7.         '([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\.'.     // 二级域验证  
  8.         '[a-z]{2,6})'.        // 顶级域验证.com or .museum  
  9.         '(:[0-9]{1,4})?'.        // 端口- :80  
  10.         '((\/\?)|'.         / 如果含有文件对文件部分进行校验  
  11.         '(\/[0-9a-zA-Z_!~\*\'\(\)\.;\?:@&=\+\$,%#-\/]*)?)$/'; 
  12.  
  13.     if(!preg_match($patern$url)) { 
  14.         die'您输入的URL格式有问题,请检查!'); 
  15.     } 

例子2,上面的例子只是验证url是不是正常的不代表是否可以访问了,我们可以使用如curl函数进行方法,代码如下:

  1. $url = "http://www.phpfensi.com "
  2. $curl = curl_init($url); 
  3. curl_setopt($curl, CURLOPT_NOBODY, true); 
  4. $result = curl_exec($curl); 
  5. if ($result !== false)  
  6.   $statusCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);   
  7.   if ($statusCode == 404)  
  8.   { 
  9.     echo "URL Not Exists" 
  10.   } 
  11.   else 
  12.   { 
  13.      echo "URL Exists"
  14.   }  
  15. else 
  16.   echo "URL not Exists"

除了这个函数还可以使用php的很多函数如 file、file_get_contents()、fopen函数来进行检测了.

Tags: php验证URL php合法函数

分享到: