加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php url check available available

发布时间:2020-12-13 17:38:28 所属栏目:PHP教程 来源:网络整理
导读:我想检查我的数据库中是否有url可用.我选择了fopen,但是我从我的数据库中测试了30行,这将耗费近20秒.有什么办法可以让它更有效率吗?谢谢. ?php$start_t = microtime(true); //connect database and select querywhile ($row = mysql_fetch_array($result)){
我想检查我的数据库中是否有url可用.我选择了fopen,但是我从我的数据库中测试了30行,这将耗费近20秒.有什么办法可以让它更有效率吗?谢谢.

<?php
$start_t = microtime(true); 
//connect database and select query
while ($row = mysql_fetch_array($result)){
//$url = 'http://www.google.com'; //not test from database,but a google.com,one url will cost 0.49 seconds.
$url = $row['url'];
$res = @fopen($url,"r "); 
if($res){
    echo $row['url'].' yes<br />';
}else{
    echo $row['url']. ' no<br />';
}   
}
$end_t = microtime(true);
$totaltime = $end_t-$start_t;
echo "<br />".$totaltime." s";
?>

解决方法

尝试使用比fopen更快的fsockopen

<?php

$t = microtime(true);

$valid = @fsockopen("www.google.com",80,$errno,$errstr,30);

echo (microtime(true)-$t);

if (!$valid) {
   echo "Failure";
} else {
   echo "Success";
}
?>

输出:

0.0013298988342285

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读