转换谷歌图表为PNG图像自动当我运行php文件在命令行(不在浏览器)
convert google chart as PNG image automatically when i run the php file in command line(Not in browser)
我从chart.getImageURI()函数中获取图像URL。但是,当我在没有浏览器的情况下运行PHP文件时,我如何自动移动到我的本地服务器文件夹?我用命令行.....运行PHP文件在SSH。
谁能解释一下我该怎么做?提前谢谢。
<script type="text/javascript">
google.charts.load("current", {packages:['corechart']});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var data = new google.visualization.DataTable(//jsonarray hear);
var options = {
title: 'Title of Graph',
curveType: 'function',
width: 800,
height: 400
};
var chart_div = document.getElementById('chart_div');
var chart = new google.visualization.LineChart(chart_div);
google.visualization.events.addListener(chart, 'ready', function () {
var imgURL = chart.getImageURI();
chart_div.innerHTML = '<img src="' + chart.getImageURI() + '">';
});
chart.draw(data, options);
}
</script>
<div id='"chart_div'"></div>";
我在PHP文件的顶部添加了这个脚本。
图形已创建,并且工作良好。但我想要这个图形的PNG图像文件在本地服务器的特定文件夹中。这个PHP文件不能在浏览器中运行。它在SSH中作为命令行运行。我想要自动保存图像。
要实现这一点,你必须使用一个无头浏览器来执行js并在服务器端呈现谷歌图表。
你可以用这个库来使用PhantomJs
下面是一个例子:用
创建一个js文件(例如generate.js)var system = require('system');
var args = system.args;
// require PhantomJS-Google-Charts library
var GC = require('/path/to/googleCharts.js');
// google chart data as first argument
var jsonData = JSON.parse(args[1]);
GC.generateChart(jsonData, function(svgHtml){
//filename where to save the chart as second arg
var fileName = args[2];
var page = require('webpage').create();
page.content = svgHtml;
page.render(fileName);
phantom.exit();
});
然后在php脚本中使用exec函数执行phantomJs命令,将图形渲染为图像:
exec("/path/to/phantomJs /path/to/generate.js '{chartOptions}' path/to/image.png");
相关文章:
- 如何在php文件中获取$.post-ajax传递的值
- Javascript运行php文件,然后下载文件
- 通过Ajax将JavaScript函数传递给PHP文件
- 我想使用模态通过php文件发送邮件,并且我希望在提交关闭后关闭pop
- 通过ajax到php文件获取单选按钮值
- 每天用javascript包含不同的php文件
- 如何使用javascript调用Php文件
- 如何使用php文件中的GET来获取我在.js文件中声明的变量
- 在CodeIgniter视图中将Javascript或jQuery代码作为PHP文件编写可以吗
- CORS:否'访问控制允许来源'header-但是php设置头文件
- 用PHP发送html表单和文件附件
- 动态地包含来自外部文件PHP的JavaScript
- 向文件 php 表单提交添加多个输入
- 将web服务响应转换为PDF文件- PHP, Javascript
- 基于XML文件(PHP, Jquery)的页面生成
- 如何使用jQuery.ajax发送请求到文件php
- 显示数据下拉列表从另一个文件(php,mysql,javascript)
- 两个电子邮件在同一个文件php
- 从mysql中存储和检索用户js文件.php
- 组织3个文件:PHP、HTML、JS和Smarty