免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 19228 | 回复: 28
打印 上一主题 下一主题

怎样把服务器上的ping命令运行过程在web页面中动态展示 [复制链接]

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2016-03-15 06:20:01
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-07-20 12:10 |只看该作者 |倒序浏览
本帖最后由 plumdavid 于 2013-07-20 12:10 编辑

想在PHP中调用服务器(linux系统)上的ping命令,把ping的返回过程在web页面中,有什么办法实现吗?

如:
  1. $ ping www.sina.com
  2. PING cernetnews.sina.com.cn (121.194.0.239) 56(84) bytes of data.
  3. 64 bytes from 121.194.0.239: icmp_seq=1 ttl=59 time=0.391 ms
  4. 64 bytes from 121.194.0.239: icmp_seq=2 ttl=59 time=0.385 ms
  5. 64 bytes from 121.194.0.239: icmp_seq=3 ttl=59 time=0.459 ms
  6. 64 bytes from 121.194.0.239: icmp_seq=4 ttl=59 time=0.331 ms
  7. 64 bytes from 121.194.0.239: icmp_seq=5 ttl=59 time=0.600 ms
  8. 64 bytes from 121.194.0.239: icmp_seq=6 ttl=59 time=0.486 ms
  9. 64 bytes from 121.194.0.239: icmp_seq=7 ttl=59 time=0.491 ms
复制代码
ping命令返回记录是不断添加的,在web页面中也要达到这样效果




论坛徽章:
13
双鱼座
日期:2013-10-23 09:30:05数据库技术版块每日发帖之星
日期:2016-04-20 06:20:00程序设计版块每日发帖之星
日期:2016-03-09 06:20:002015亚冠之塔什干火车头
日期:2015-11-02 10:07:452015亚冠之德黑兰石油
日期:2015-08-30 10:07:07数据库技术版块每日发帖之星
日期:2015-08-28 06:20:00数据库技术版块每日发帖之星
日期:2015-08-05 06:20:002015年迎新春徽章
日期:2015-03-04 09:57:09辰龙
日期:2014-12-03 14:45:52酉鸡
日期:2014-07-23 09:46:23亥猪
日期:2014-03-13 08:46:22金牛座
日期:2014-02-11 09:36:21
2 [报告]
发表于 2013-07-20 15:44 |只看该作者
可以考虑用libevent

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2016-03-15 06:20:01
3 [报告]
发表于 2013-07-20 17:33 |只看该作者
本帖最后由 plumdavid 于 2013-07-20 17:37 编辑

回复 2# bikong0411


    好高端,我看看先。

论坛徽章:
0
4 [报告]
发表于 2013-07-30 17:26 |只看该作者
本帖最后由 幽烛 于 2013-07-30 17:29 编辑

function do_command($commandName, $args)
{
    $buffer = "";
    if (false === ($command = find_command($commandName))) return false;
    if ($fp = @popen("$command $args", 'r'))
        {
                while (!@feof($fp))
                {
                        $buffer .= @fgets($fp, 4096);
                }
                @pclose($fp);
                return trim($buffer);
        }
    return false;
}
function find_command($commandName)
{
    $path = array('/bin', '/sbin', '/usr/bin', '/usr/sbin', '/usr/local/bin', '/usr/local/sbin');
    foreach($path as $p)
    {
        if (@is_executable("$p/$commandName")) return "$p/$commandName";
    }
    return false;
}

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2016-03-15 06:20:01
5 [报告]
发表于 2013-07-31 17:36 |只看该作者
回复 4# 幽烛


    大侠,你这是查找文件?
    我想把ping命令的终端输出在web页面里展示,你的代码能实现吗?

论坛徽章:
0
6 [报告]
发表于 2013-07-31 19:24 |只看该作者
研究一下Ajax能否实现。普通后台脚本程序,一次执行就结束了。

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2016-03-15 06:20:01
7 [报告]
发表于 2013-07-31 22:08 |只看该作者
回复 6# Cyberman.Wu


    我用ajax实现了,但比较复杂,具体方法如下:

ping命令写入文件中,使用ajax调用文件数据在web页面中.
实现是实现了,但文本\linux命令\php语言之间的耦合度太高了,代码可维护性不高.

论坛徽章:
0
8 [报告]
发表于 2013-08-01 13:15 |只看该作者
哎~~看来楼主还没看懂代码

回复 7# plumdavid


   

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2016-03-15 06:20:01
9 [报告]
发表于 2013-08-01 13:48 |只看该作者
回复 8# 幽烛


    长知识了.
    虽然你算法中用到的一些函数我不熟悉,但你的思路我明白了,多谢.

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
10 [报告]
发表于 2013-08-01 15:13 |只看该作者
学习了,幽烛的代码有点像网页画图的做法。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP