Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在将页面提供给浏览器之前导出cytoscape web图形_Php_Javascript_Cytoscape Web - Fatal编程技术网

Php 如何在将页面提供给浏览器之前导出cytoscape web图形

Php 如何在将页面提供给浏览器之前导出cytoscape web图形,php,javascript,cytoscape-web,Php,Javascript,Cytoscape Web,情景: 客户机位于带有搜索栏的页面上,他们输入一个查询。这个查询被传递到服务器用php动态生成的第二个页面。除了提供给php脚本的查询信息外,还传递了一个变量,该变量允许php脚本确定客户端浏览器是否可以使用flash。现在,如果flash不可用,php脚本将显示cytoscape web生成的网络图的png,如果flash可用,则显示该图的swf 问题: 1.Cytoscape web是一个用于显示图形的javascript库。它有出口的乐趣ctionhttp://cytoscapeweb.c

情景: 客户机位于带有搜索栏的页面上,他们输入一个查询。这个查询被传递到服务器用php动态生成的第二个页面。除了提供给php脚本的查询信息外,还传递了一个变量,该变量允许php脚本确定客户端浏览器是否可以使用flash。现在,如果flash不可用,php脚本将显示cytoscape web生成的网络图的png,如果flash可用,则显示该图的swf

问题: 1.Cytoscape web是一个用于显示图形的javascript库。它有出口的乐趣ctionhttp://cytoscapeweb.cytoscape.org/documentationsection/exportNetwork 但这只允许浏览器下载导出的文件。我希望能够在php运行时导出并保存该文件,然后在未启用flash的情况下将其作为内容嵌入到swf中。如果javascript方法必须在客户端的浏览器中运行,我将如何执行此操作

资源

图表导出方法1:


图形导出方法2:

在cytoscape web google groups页面上也提出了类似的问题。

以下是专家们所说的:

如果使用png,则只能将图像的字节作为字符串获取为Base64。它不会将映像导出到服务器端,也不会使其可供下载。为了做到这一点,您必须自己将字符串提交到服务器端,再次将base64转换为字节,然后让服务器组件(例如PHP、Java Servlet)将字节流回到浏览器,以便用户可以下载图像

还可以选择使用Flash组件/插件获取字节,并使其无需web服务器即可下载。这正是Cytoscape Web演示应用程序所做的http://cytoscapeweb.cytoscape.org/demo 选择“保存文件”菜单选项时执行。 您可以从演示的JavaScript文件复制示例,并使用我们为此开发的Flash库。它没有很好的文档记录,所以我想它可能有点复杂。无论如何,如果您想尝试一下,请查看:

- http://cytoscapeweb.cytoscape.org/js/content/demo.js - search for "org.cytoscapeweb.demo.Exporter"
- http://chianti.ucsd.edu/svn/cytoscapeweb/trunk/file/ - you can download the component project from Subversion with the command:  svn checkout http://chianti.ucsd.edu/svn/cytoscapeweb/trunk/file cwfile-read-only
如果你在互联网上搜索,你可能会发现类似的插件

记住,在调用vis.draw之前,必须从ready函数内部调用png函数-示例:

vis.ready(function() {
    var png = vis.png();
// handle the png bytes here:
    alert(png);
});
vis.draw(draw_options);
一个更简单的选择是使用exportNetwork功能,它需要一个服务器端部件。看见它甚至包括一个PHP示例。 JavaScript部分如下所示:

vis.ready(function() {
    // ...
vis.exportNetwork('png', 'export.php?type=png');
    // ...
});
输出文件的名称由服务器端代码完成——本例中的export.php文件


我希望这会有所帮助

基本上,我认为我需要一些运行cytoscapeweb javascript服务器端的方法来生成并保存文件。并且能够从我的php文件中运行JS。