如何将 HighCharts 图像保存到 PHP 中的项目文件夹中?

Posted

技术标签:

【中文标题】如何将 HighCharts 图像保存到 PHP 中的项目文件夹中?【英文标题】:How can I save HighCharts image into the project folder in PHP? 【发布时间】:2014-10-02 17:41:24 【问题描述】:

我使用 highcharts 显示一些结果,但我需要将图表作为 jpg 图像保存到项目文件夹中以通过电子邮件发送。

有一种方法可以在不涉及浏览器“下载”的情况下保存图像,只需将其保存到目标文件夹即可。 谢谢。

【问题讨论】:

不下载怎么保存?如果您有自己的导出服务器设置,则可以通过命令行执行此操作,但您必须使用导出应用程序在服务器上。 我的意思是没有浏览器的下载“功能”,就像您正在下载文件一样。只是在创建图表时将其保存到项目文件夹中,而不需要用户通知。 你建议如何从呈现它的网页中保存而不下载它? 嗯,它必须是一些东西,我已经阅读了有关导出属性的信息,但我不知道如何准确地使用它。我试过了,但我没有做到。 【参考方案1】:

如果您像here 中描述的那样创建自己的导出服务器(我使用 Java + phantomJS 设置)。然后,您可以通过命令行发送 json 以构建图表和输出类型(jpeg、pdf 等),然后您可以将此输出重定向到您选择的文件夹。您无法通过网络自动执行此操作,因为代码不知道您要在其中存储图像的文件夹的路径。请参阅here。

【讨论】:

【参考方案2】:

这是绝对可能的。服务器端导出处理的源代码在这里:

https://github.com/highslide-software/highcharts.com/blob/master/exporting-server/php/php-batik/index.php

它本质上是让一个名为 Batik 的 Java 程序输出您提交的文件的 PNG、JPG 或 PDF 版本。您可以非常轻松地修改该 PHP 代码,将蜡染输出保存到服务器上的本地文件中,而不是将其流式传输回给用户。

更多关于服务器端导出如何工作的信息在这里:

http://www.highcharts.com/docs/export-module/export-module-overview

希望这会有所帮助!享受吧!

【讨论】:

以上是关于如何将 HighCharts 图像保存到 PHP 中的项目文件夹中?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 SQLite 和 PHP 将图像保存到数据库?

Highcharts 导出功能

如何使用 PHP 将裁剪后的图像保存到带有 Jcrop 的目录

保存画布图像(将数据字符串发布到 PHP)

将 php 数据绘制到 Highmap 中:HighCharts

如何在php中使用highcharts插件实现柱状图效果 求源码