Command: ping???  能不能说得详细点是怎么实现的?多谢了!!

解决方案 »

  1.   

    zeroleonhart(Strong Point:Algorithm) 上次你说用FOPEN后来我测试,发现有时候要五六秒甚至更长,有没有更好办法?
      

  2.   

    $pingcmd = "ping ".$domain;
    $str=(exec($pingcmd));
    if(substr($str, 0, 5) != 'Pingi')
    {
       echo "No such domain";
    }
    else
    {
       echo "The domain is available.";
    }
    NOT TESTED. IT IS JUST AN IDEA.
      

  3.   

    利用网络命令ping,看返回的结果来判断。
    这样得来的结果肯定不准确。有时你ping不通并不一定就代表人家不存在,现在大多数站点都被Firewall弄的ping不通。而且网络状况不好,会丢包的。
      

  4.   

    我下面的程序,我测试了一下,感觉速度并不是很快!<?php
    for($i=1;$i<100;$i=$i+1)
    {
      $domain="www.163.com";
      $pingcmd = "ping ".$domain;
      $str=(exec($pingcmd));
      echo $str;
      if(substr($str, 0, 5) != 'Pingi') 
      {
         echo "No such domain<br>";
      }
      else
      {
         echo "The domain is available.</br>"; 
      }
    }
    ?>
      

  5.   

    1、ping是可以被关闭的,随便在哪一级路由上设置一下,ping就失效了
    2、ping的是网站。网站存在,并不代表页面存在
      

  6.   

    多谢大家的建议,现在我有几万条网址记录都放在MYSQL里面,我想检测出来那些URL是坏连接,并且在数据库中作上符号。 所以,最好能用自己的程序来实现。这些程序以后还会常用到的。
        我现在用$fp = @fsockopen($url, 80, &$errno, &$errstr, 5); 可以进行批量检测,但检测到有效URL估计要0.7秒,无效URL估计要5到10秒,我感觉太慢了。
        请教哪位高手有更好的更高效的方法进行检测URL?谢了!!
      

  7.   

    fsockopen把,看header的code2xx
    3xx
    4xx
    5xx
      

  8.   

    这个不能绝对准确的
    用fopen试试效率怎么样,就看能不能打开,不读
    sock是对网站的,能ping上不一定有该网页
      

  9.   

    fopen也用过了,效率也不怎么好。