主页 > 知识库 > 网络编程 > PHP >

PHP

用php调用graphviz轻松画拓扑图

来源:网络 作者:佚名 发表于:2012-11-01 13:05  点击:
graphviz是一款古老的画拓扑图的工具,非常强大,能够按照你在文本文件里定义的格式转换为拓扑图,很多大公司都是用graphviz来画拓扑图,它的最主要的功能是用程序生成文本,然后调用graphviz来把文本转化为拓扑图。 1.安装graphviz 到http://www.graphviz.or
graphviz是一款古老的画拓扑图的工具,非常强大,能够按照你在文本文件里定义的格式转换为拓扑图,很多大公司都是用graphviz来画拓扑图,它的最主要的功能是用程序生成文本,然后调用graphviz来把文本转化为拓扑图。
1.安装graphviz
到http://www.graphviz.org/Download..php里下载对应的平台的安装包;
我用的是centos因此用yum安装最方便
双击代码全选
1
2
wget http://www.graphviz.org/graphviz-rhel.repo /etc/yum.repos.d/graphviz-rhel.repo    
yum install graphviz
 
2.安装完毕后进行测试
echo “digraph G {Hello->World}” | dot -Tpng >hello.png

3.php 调用graphviz
首先用程序生成/tmp/domain.txt,然后用dot命令生成图片
双击代码全选
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php    
   header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past    
         
   header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // always modified    
         
   header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1    
         
   header ("Pragma: no-cache"); // HTTP/1.0    
         
   header ("Content-type: image/gif");    
   $filename = '/tmp/domain.txt';    
   $somecontent = "digraph G {a->b->c->a}";    
    if (!$handle = fopen($filename, 'w')) {    
         echo "cannot open $filename";    
         exit;    
    }    
    if (fwrite($handle, $somecontent) === FALSE) {    
        echo "cannot write to $filename";    
        exit;    
    }    
    fclose($handle);    
         
   passthru("dot -Tpng $filename");    
// passthru("cat $filename | dot -Tpng");    
         
?>
 


本文出自 “一方有” 博客,请务必保留此出处http://yifangyou.blog.51cto.com/900206/605769

    有帮助
    (0)
    0%
    没帮助
    (0)
    0%