ホームページ php教程 php手册 php验证URL是否合法的函数

php验证URL是否合法的函数

Jun 02, 2016 am 09:13 AM
fopen preg_match

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

例子1

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

例子2

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

$url = "http://www.phprm.com ";
$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";
}
ログイン後にコピー

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


このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHP 警告の解決方法: fopen(): ストリームを開けませんでした: そのようなファイルまたはディレクトリはありません PHP 警告の解決方法: fopen(): ストリームを開けませんでした: そのようなファイルまたはディレクトリはありません Aug 19, 2023 am 10:44 AM

PHP 警告の解決方法: fopen(): ストリームを開けませんでした: そのようなファイルまたはディレクトリはありません

PHP 警告: fopen(): SSL 操作が file.php の X 行目で失敗した場合の解決方法 PHP 警告: fopen(): SSL 操作が file.php の X 行目で失敗した場合の解決方法 Aug 25, 2023 am 09:22 AM

PHP 警告: fopen(): SSL 操作が file.php の X 行目で失敗した場合の解決方法

PHP 警告の解決方法: fopen(): ストリームを開けませんでした: 許可が拒否されました PHP 警告の解決方法: fopen(): ストリームを開けませんでした: 許可が拒否されました Aug 20, 2023 pm 01:45 PM

PHP 警告の解決方法: fopen(): ストリームを開けませんでした: 許可が拒否されました

Matlab での fopen 関数の使用法 Matlab での fopen 関数の使用法 Nov 28, 2023 am 11:03 AM

Matlab での fopen 関数の使用法

PHPでファイル操作にfopen、fwrite、fcloseを使用するにはどうすればよいですか? PHPでファイル操作にfopen、fwrite、fcloseを使用するにはどうすればよいですか? Jun 01, 2023 am 08:46 AM

PHPでファイル操作にfopen、fwrite、fcloseを使用するにはどうすればよいですか?

C言語では、fopen()関数を使用して既存のファイルを書き込みモードで開きます。 C言語では、fopen()関数を使用して既存のファイルを書き込みモードで開きます。 Aug 27, 2023 pm 10:33 PM

C言語では、fopen()関数を使用して既存のファイルを書き込みモードで開きます。

PHP 警告: fopen(): ストリームを開けませんでした: X 行目の file.php にそのようなファイルまたはディレクトリがありません PHP 警告: fopen(): ストリームを開けませんでした: X 行目の file.php にそのようなファイルまたはディレクトリがありません Aug 26, 2023 pm 12:46 PM

PHP 警告: fopen(): ストリームを開けませんでした: X 行目の file.php にそのようなファイルまたはディレクトリがありません

PHP の preg_match() 関数: 正規表現を使用して文字列を一致させる方法 PHP の preg_match() 関数: 正規表現を使用して文字列を一致させる方法 Nov 04, 2023 am 11:31 AM

PHP の preg_match() 関数: 正規表現を使用して文字列を一致させる方法

See all articles