GVKun编程网logo

php实现的ping端口函数实例(ping接口php源码)

13

如果您对php实现的ping端口函数实例和ping接口php源码感兴趣,那么这篇文章一定是您不可错过的。我们将详细讲解php实现的ping端口函数实例的各种细节,并对ping接口php源码进行深入的分

如果您对php实现的ping端口函数实例ping接口php源码感兴趣,那么这篇文章一定是您不可错过的。我们将详细讲解php实现的ping端口函数实例的各种细节,并对ping接口php源码进行深入的分析,此外还有关于Mac系统用命令打开ping端口 带端口号ping命令、php ping端口、php 使用array函数实现分页_php实例、PHP中使用sleep函数实现定时任务实例分享_php实例的实用技巧。

本文目录一览:

php实现的ping端口函数实例(ping接口php源码)

php实现的ping端口函数实例(ping接口php源码)

《PHP实例:PHP实现的ping端口函数实例》要点:
本文介绍了PHP实例:PHP实现的ping端口函数实例,希望对您有用。如果有疑问,可以联系我们。

PHP学习本文实例讲述了PHP实现的ping端口函数.分享给大家供大家参考.

具体实现代码如下:

代码如下:

<?PHP
/*
 * @author     xujiajay
 * @date       2010-10-7
 * @function   可以ping端口的PHP函数
 *
 */
    error_reporting(E_ERROR);
    header("content-Type: text/html; charset=utf-8");
    set_time_limit(120);
    $host = isset($_POST['url']) ? chop(str_replace('http://','',$_POST['url'])) : 'www.baidu.com';
    $port = isset($_POST['duankou']) ? chop($_POST['duankou']) : '80';
    $num  = 10;
    function microtime_float()
    {
            list($usec,$sec) = explode(" ",microtime());
            return ((float)$usec + (float)$sec);
    }
    function getsoft($host,$port)
    {
            $fp = @fsockopen($host,$port,&$errno,&$errstr,3);
            if(!$fp) return 'unkNown';
            $get = "GET / HTTP/1.1\r\nHost:".$host."\r\nConnection: Close\r\n\r\n";
            @fputs($fp,$get);
            $data = '';
            while ($fp && !feof($fp))
            $data .= fread($fp,1024);
            @fclose($fp);
            $array = explode("\n",$data);
            $k = 2;
            for($i = 0;$i < 20;$i++)
            {
                    if(stristr($array[$i],'Server')){$k = $i; break;}
            }
            if(!stristr($array[$k],'Server')) return 'unkNown';
            else return str_replace('Server','服务器软件',$array[$k]);
    }
    function ping($host,$port)
    {
            $time_start = microtime_float();
            $ip = gethostbyname($host);
            $fp = @fsockopen($host,1);
            if(!$fp) return 'Request timed out.'."\r\n";
            $get = "GET / HTTP/1.1\r\nHost:".$host."\r\nConnection: Close\r\n\r\n";
            @fputs($fp,$get);
            @fclose($fp);
            $time_end = microtime_float();
            $time = $time_end - $time_start;
            $time = ceil($time * 1000);
            return 'Reply from '.$ip.': time='.$time.'ms';
    }
    if(isset($_POST['url']) && isset($_POST['duankou']))
    {
            echo '<font color="#FF0000">'.getsoft($host,$port).'</font>';
            echo 'Pinging '.$host.' ['.gethostbyname($host).'] with Port:'.$port.' of data:'."\r\n";
            ob_flush();
            flush();
            for($i = 0;$i < $num;$i++)
            {
                    echo ping($host,$port);
                    ob_flush();
                    flush();
                    sleep(1);
            }
    }
?>
<form method="POST">
域名/IP:<input type="text" name="url" value="<?PHP echo $host;?>" size="50">
端口:<input type="text" name="duankou" value="<?PHP echo $port;?>" size="10">
<input type="submit" value="ping">
</form>

希望本文所述对大家的PHP程序设计有所赞助.

欢迎参与《PHP实例:PHP实现的ping端口函数实例》讨论,分享您的想法,小编 jb51.cc为您提供专业教程。

Mac系统用命令打开ping端口 带端口号ping命令

Mac系统用命令打开ping端口 带端口号ping命令

原标题:"Mac系统用命令打开ping端口的详细步骤"关于电脑问题教程分享。 - 来源:小编 - 。

电脑上不了网问题相信大家都有遇到过,排查网络故障问题用到ping,之前windows系统上能够轻松打开ping端。但是如果在Mac电脑该如何打开ping端口?其实打开方法并不复杂,接下来小编给大家演示Mac系统用命令打开ping端口的方法。

Mac系统打开ping端口命令的使用方法

1、在桌面上的DOCK栏中,一般能找到终端的打开图标,那么我们使用鼠标右键点开它就可以了。这个是最简单的一种方法。

方法二:

1、在finder中打开,一次点击【finder】-->【应用程序】;

2、在应用程序里面找到【实用工具】,并使用鼠标左键单击它进入到【实用工具】里面,实用工具在窗口的右侧,比较下面的位置!

3、一般情况下,在【实用工具】中的工具列表里面的倒数第二个就是终端,可能你电脑里面该工具的位置与我的不一样,但是都叫【终端】!

方法三:

1、这个系统没有打开终端的快捷键。我们只有通过第二种方法打开终端之后。终端会显示在dock栏中。那么我们在此时临时出现在dock栏中的终端点击鼠标右键。

2、把鼠标移动到新弹出的菜单,移动到里面的【选项】---->点击【在Dock】栏中保留。这样就可以把终端永久的放在dock栏上啦哦!

通过以上三种方法打开终端,其实只算说了两种,打开终端之后,我们在终端输入【ping IP地址】,IP地址处填写你要ping的人的IP哦!

3、然后我们按retrun键执行,执行该命令后,下面会显示ping的信息。因为网络连通的缘故,所以我这里能ping通哦。

  有时候检测网络是否通顺会要打开ping端口查看,如果你不懂Mac系统如何打开,一起参考上文教程内容设置吧。


总结

以上是小编为你收集整理的Mac系统用命令打开ping端口 带端口号ping命令全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

php ping端口

php ping端口

跳至

    error_reporting(0);
    header("content-Type: text/html; charset=utf-8");
    set_time_limit(120);
    $host = isset($_POST[&#39;url&#39;]) ? chop(str_replace(&#39;http://&#39;,&#39;&#39;,$_POST[&#39;url&#39;])) : &#39;www.baidu.com&#39;;
    $port = isset($_POST[&#39;duankou&#39;]) ? chop($_POST[&#39;duankou&#39;]) : &#39;80&#39;;
    $num  = 10;
    function microtime_float()
    {
            list($usec, $sec) = explode(" ", microtime());
            return ((float)$usec + (float)$sec);
    }
    function getsoft($host,$port)
    {
            $fp = @fsockopen($host,$port,&$errno,&$errstr,3);
            if(!$fp) return &#39;unknown&#39;;
            $get = "GET / HTTP/1.1\r\nHost:".$host."\r\nConnection: Close\r\n\r\n";
            @fputs($fp,$get);
            $data = &#39;&#39;;
            while ($fp && !feof($fp))
            $data .= fread($fp, 1024);
            @fclose($fp);
            $array = explode("\n",$data);
            $k = 2;
            for($i = 0;$i < 20;$i++)
            {
                    if(stristr($array[$i],&#39;Server&#39;)){$k = $i; break;}
            }
            if(!stristr($array[$k],&#39;Server&#39;)) return &#39;unknown&#39;;
            else return str_replace(&#39;Server&#39;,&#39;服务器软件&#39;,$array[$k]);
    }
    function ping($host,$port)
    {
            $time_start = microtime_float();
            $ip = gethostbyname($host);
            $fp = @fsockopen($host,$port,&$errno,&$errstr,1);
            if(!$fp) return &#39;Request timed out.
    &#39;."\r\n";
            $get = "GET / HTTP/1.1\r\nHost:".$host."\r\nConnection: Close\r\n\r\n";
            @fputs($fp,$get);
            @fclose($fp);
            $time_end = microtime_float();
            $time = $time_end - $time_start;
            $time = ceil($time * 1000);
            return &#39;Reply from &#39;.$ip.&#39;: time=&#39;.$time.&#39;ms
    &#39;;
    }
    if(isset($_POST[&#39;url&#39;]) && isset($_POST[&#39;duankou&#39;]))
    {
            echo &#39;&#39;.getsoft($host,$port).&#39;  
    &#39;;
            echo &#39;Pinging &#39;.$host.&#39; [&#39;.gethostbyname($host).&#39;] with Port:&#39;.$port.&#39; of data:
      
    &#39;."\r\n";
            ob_flush();
            flush();
            for($i = 0;$i < $num;$i++)
            {
                    echo ping($host,$port);
                    ob_flush();
                    flush();
                    sleep(1);
            }
    }
?>域名/IP: 
端口:
登录后复制

                   

php 使用array函数实现分页_php实例

php 使用array函数实现分页_php实例

代码很简单,就不多废话了。

复制代码 代码如下:

$array=array("1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20");//规定要分页的数组
$page= $_GET[''page''];
 $r = $this->page($array,5,$page);
 print_r($r);
 exit();
 foreach($r["source"] as $s){
 echo $s;
 }
function page($array,$pagesize,$current){
 $_return=array();
 $total=ceil(Count($array)/$pagesize);//求总页数
$prev=(($current-1) $next=(($current+1)>=$total ? $total:$current+1);//确定下一页,如果当前页是最后一页,点击下页显示最后一页
$current=($current>($total)?($total):$current);//当前页如果大于总页数,当前页为最后一页
$start=($current-1)*$pagesize;//分页显示时,应该从多少条信息开始读取
for($i=$start;$i  array_push($_return,$array[$i]);//将该显示的信息放入数组 $_return 中
}
 $pagearray["source"]=$_return;
 $pagearray["page"]="first  \">prev next end";//分页样式可跟据需要调整
return $pagearray;
 }

以上就是使用array函数实现分页的核心代码了,希望大家能够喜欢。

PHP中使用sleep函数实现定时任务实例分享_php实例

PHP中使用sleep函数实现定时任务实例分享_php实例

在某些程序中,有一些特殊的功能需要用到定时执行,如果熟悉linux的朋友肯定会说这不是容易吗,直接来个计划任务crontab不久实现了吗?这的确是可以实现,但必须是提前知道具体的执行时间,然后才能写到计划任务里去。比如凌晨两点,上午七点,或者每天上午六点三十分等等。

然而有时候,这个时间我们无法预知,而执行时间是程序动态生成的。然后在动态生成的时间后执行某些程序片段,这里就不能用Linux的crontab计划任务了,因为每次执行的时间都是动态生成,而计划任务需要知道一个定死了的时间。既然无法使用计划任务,那么就只能从程序本身寻找实现方法。

在PHP中,有一个sleep函数,大概意思是程序执行遇到sleep函数时暂停N秒后继续往下执行。如sleep(10)意思就是程序自上往下执行,遇到sleep(10)语句后暂停十秒,然后继续往下执行。函数括号内的参数是一个数值,代表暂停时间值,单位秒。请看下面一段代码

复制代码 代码如下:

/**
 * sleep函数的用法
 * 琼台博客
 */
// 输出当前程序时间戳
echo time();  // out:1338088780
echo ''
'';
 
// 暂停十秒
sleep(10);
 
// 输出时间戳
echo time(); // out:1338088790

以上程序执行结果是
复制代码 代码如下:

1338088780
1338088790

我们来解析下执行过程,第一步是打印当前时间戳1338088780,然后暂停十秒,再打印时间戳。由于程序是等待了十秒然后再次打印时间戳,那么就是最后一次的时间戳肯定要比第一次打印的时间戳多十秒钟,结果最后一次的时间戳是1338088790。

以上例子,我们只用了一次sleep函数,页面中可以无限制使用sleep()函数。请看以下代码:

复制代码 代码如下:

/**
 * sleep函数的用法
 * 琼台博客
 */
// 输出第一次时间戳
echo time();      // out: 1338088780
echo ''
'';
 
// 暂停十秒
sleep(10);
 
// 输出第二次时间戳
echo time();     // out: 1338088790
echo ''
'';
 
// 暂停二十秒钟
sleep(20);
 
// 输出第三次时间戳
echo time();     // out: 1338088810

以上程序执行结果是
复制代码 代码如下:
1338088780
1338088790
1338088810

以上代码执行过程:
第一,打印第一次时间戳1338088780
第二,暂停十秒
第三,打印第二次时间戳 1338088790,是第一次时间戳加上十秒后的总和
第四,暂停二十秒
第五,打印第三次时间戳 1338088810,是第二次时间戳1338088790加上二十秒后的总和。

页面中出现两次sleep,第一次是十秒,第二次二十秒。由此得出以上实例总共执行三十秒。页面中多次出现sleep()函数时为累加而不是覆盖前面的代码。

那如何结合sleep定时执行动态生成时间的代码呢?请看以下代码:

复制代码 代码如下:

/**
 * sleep函数定时执行动态生成时间段的代码
 * 琼台博客
 */
// 目前时间
echo date(''Y-m-d H:i:s''); // out:2012-05-27 14:58:00
echo ''
'';
 
// 动态生成时间 范围在今天下午六点到晚上零点前的任意时间
$datetime = date(''Y-m-d'').'' ''.rand(''18,23'').'':''.rand(''0,59'').'':''.rand(''0,59'');  // 2012-05-27 19:20:00
 
// 算得时间戳
$a = strtotime($datetime);
 
// 算得时间差
$reduce = $a-time();
 
// sleep等待
sleep($reduce);
 
// 执行到时间后执行的代码块
echo date(''Y-m-d H:i:s'');  // out:2012-05-27 19:20:00

以上代码输出:
复制代码 代码如下:
2012-05-27 14:58:00
2012-05-27 19:20:00

解析:开始打印当前时间,然后随机算出程序往后执行时间 2012-05-27 19:20:00,由于sleep接受参数是一个以秒为单位的一个数值,所以先把生成的时间转换为时间戳然后再用时间戳减去当前时间戳得出一个时间差,再sleep即可达到程序在随机生成时间执行某些语句达到定时执行效果。这里注意必须算的一个以秒为单位的时间差,如果不能算出秒差就没法使用sleep函数功能。

最后,可能某些童鞋做实例的时候会说怎么我的程序执行出错,提示超时。出现这个问题不要慌,这是PHP默认页面执行时间导致的,在PHP中默认执行页面时间是三十秒钟,这对于一般程序够用了。但如果你要做类似定时执行功能就必须再头部声明设置下执行时间set_time_limit(0)。0是代表不限时,单位是秒。最后整体贴出代码:

复制代码 代码如下:

/**
 * sleep函数定时执行动态生成时间段的代码
 * 琼台博客
 */
// 设置页面执行时间,否则会有超时错误提示
set_time_limit(0);
 
// 目前时间
echo date(''Y-m-d H:i:s''); // out:2012-05-27 14:58:00
 
// 动态生成时间 范围在今天下午六点到晚上零点前的任意时间
$datetime = date(''Y-m-d'').'' ''.rand(''18,23'').'':''.rand(''0,59'').'':''.rand(''0,59'');  // 2012-05-27 19:20:00
 
// 算得时间戳
$a = strtotime($datetime);
 
// 算得时间差
$reduce = $a-time();
 
// sleep等待
sleep($reduce);
 
// 执行到时间后执行的代码块
echo date(''Y-m-d H:i:s'');  // out:2012-05-27 19:20:00

关于php实现的ping端口函数实例ping接口php源码的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于Mac系统用命令打开ping端口 带端口号ping命令、php ping端口、php 使用array函数实现分页_php实例、PHP中使用sleep函数实现定时任务实例分享_php实例等相关内容,可以在本站寻找。

本文标签: