php url 检查可用

标签 php url

我想检查我的数据库中是否有 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

关于php url 检查可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6357371/

相关文章:

php - 如何使用 CodeIgniter 处理表单

php - MySQL; PHP 循环错误

php - 如何在 PHP 中将方法声明为公共(public)但非静态的?

php - 获取其中包含斜杠的对象属性

android - ACTION_SEND 不分享网址,没有解释

php - Laravel 5.4 中的事件监听器

regex - 使用 Coldfusion 将 URL 包装在带有 href 标签的字符串中

java - HttpURLConnection getResponseCode() 不起作用

jquery构建http查询字符串

javascript - 将重复的 URL 合并为 1 个 URL,Javascript