用php调用graphviz轻松画拓扑图

简介:
graphviz是一款古老的画拓扑图的工具,非常强大,能够按照你在文本文件里定义的格式转换为拓扑图,很多大公司都是用graphviz来画拓扑图,它的最主要的功能是用程序生成文本,然后调用graphviz来把文本转化为拓扑图。
1.安装graphviz
http://www.graphviz.org/Download..php里下载对应的平台的安装包;
我用的是centos因此用yum安装最方便

 

 
  1. wget http://www.graphviz.org/graphviz-rhel.repo /etc/yum.repos.d/graphviz-rhel.repo  
  2. yum install graphviz 

 

 

2.安装完毕后进行测试

 

 
  1. echo “digraph G {Hello->World}” | dot -Tpng >hello.png 

 

 

3.php 调用graphviz

首先用程序生成/tmp/domain.txt,然后用dot命令生成图片

 

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

end

 






     本文转自yifangyou 51CTO博客,原文链接:http://blog.51cto.com/yifangyou/605769,如需转载请自行联系原作者


相关文章
|
PHP Android开发 Python
php调用adb命令,php使用adb控制安卓手机
php调用adb命令,php使用adb控制安卓手机
358 0
|
域名解析 弹性计算 Linux
PHP SDK 的安装与调用
Alibaba Cloud SDK for PHP是支持PHP开发者快速访问阿里云服务的开发包,由Alibaba Cloud Client for PHP提供底层支持。Alibaba Cloud SDK for PHP让您不用复杂编程即可访问云服务器、云数据库RDS和云监控等多个阿里云服务。本文将为大家介绍PHP SDK的安装与调用过程。
2097 0
PHP SDK 的安装与调用
|
JSON Java API
PHP 调用第三方API接口 、带参数跳转PHP
PHP 调用第三方API接口 、带参数跳转PHP
843 0
PHP 调用第三方API接口 、带参数跳转PHP
|
IDE PHP 开发工具
地址标准化中ExtractAddress接口中php的调用
地址标准化中ExtractAddress接口中php的调用
362 0
地址标准化中ExtractAddress接口中php的调用
|
搜索推荐 PHP
PHP面试题:写一个二维数组排序算法函数,能够具有通用性,可以调用php内置函数(array_multisort())
PHP面试题:写一个二维数组排序算法函数,能够具有通用性,可以调用php内置函数(array_multisort())
118 0
|
JSON Java API
阿里云人脸识别PHP调用示例参考
本文主要介绍PHP调用阿里云人脸识别服务,参数等的获取参考阿里云人脸识别使用流程简介。
阿里云人脸识别PHP调用示例参考
|
JSON API 网络安全
阿里云老版人脸识别PHP调用示例参考
前面分别给出了关于阿里云人脸识别Java调用示例参考、阿里云人脸识别C#调用示例参考、阿里云人脸识别Python3调用示例参考 。本文主要介绍PHP调用阿里云人脸识别服务,参数等的获取参考阿里云人脸识别使用流程简介。
395 0
阿里云老版人脸识别PHP调用示例参考
在php中调用接口以及编写接口
在php中调用接口以及编写接口如:http://localhost/openUser.php?act=get_user_list&type=json 在这里openUser.php相当于一个接口,其中get_user_list 是一个API(获取用户列表),讲求返回的数据类型为JSON格式。
1313 0
|
PHP 计算机视觉 数据格式
阿里云人脸识别PHP调用示例参考
前面分别给出了关于阿里云人脸识别Java调用示例参考、阿里云人脸识别C#调用示例参考、阿里云人脸识别Python3调用示例参考 。本文主要介绍PHP调用阿里云人脸识别服务,参数等的获取参考阿里云人脸识别使用流程简介。
3401 0
阿里云人脸识别PHP调用示例参考
|
新零售 PHP 区块链
php如何调用以太坊JSON-RPC接口创建钱包?
首先下载安装geth,下载地址如下: http://ethfans.org/wikis/Wallet-Mirror 安装后会在安装目录生成一个geth.exe,需要使用命令行工具来运行它。
3887 0