从php系统调用gnuplot生成绘图?
因此,我使用一个php程序读取一个文件,进行一些更改,然后将其写入一个新文件。之后,我使用系统调用调用gnuplot:从php系统调用gnuplot生成绘图?,php,gnuplot,system-calls,Php,Gnuplot,System Calls,因此,我使用一个php程序读取一个文件,进行一些更改,然后将其写入一个新文件。之后,我使用系统调用调用gnuplot: system('cat sarx.conf | /usr/bin/gnuplot'); sarx.conf具有生成绘图的gnuplot命令。问题是,如果从命令行(在linux服务器上)运行我的php,它会生成映像并将其存储在磁盘上。但是当我在我的浏览器上运行php做同样的事情时,它会生成图像,并尝试在浏览器上吐出图像,而不实际将其存储在磁盘上 我尝试过的事情: 我想我可能在权
system('cat sarx.conf | /usr/bin/gnuplot');
sarx.conf
具有生成绘图的gnuplot命令。问题是,如果从命令行(在linux服务器上)运行我的php,它会生成映像并将其存储在磁盘上。但是当我在我的浏览器上运行php做同样的事情时,它会生成图像,并尝试在浏览器上吐出图像,而不实际将其存储在磁盘上
我尝试过的事情:
sarx.conf
中的路径。那也没用有没有人对我如何让它工作有什么想法?我需要将此图像存储在磁盘上,以便我的网站可以抓取它以稍后显示绘图。有什么php工具可以抓取图像并将其写入磁盘吗?gnuplot有一个很棒的LGPL许可的php接口: 以下是您可以执行类似操作的方法:
$my_file = tempnam();
$handle = popen('gnuplot', 'w');
fwrite($this->ph, "Run some gnuplot commands here\n");
fwrite($this->ph, "set term png\n");
fwrite($this->ph, "set output ".$my_file."\n");
fwrite($this->ph, "replot\n");
flush($handle);
pclose($handle);
header('Content-Length: '.filesize($my_file));
header('Content-Type: image/png');
print file_get_contents($my_file);
unlink($my_file);
好吧,如果它对将来的人有帮助,我会让它工作的。这就是我使用的:exec('catsarx.conf |/usr/bin/gnuplot');并确保文件夹是可写的。最妙的是,它会覆盖文件,因此,如果您在网页上进行绘图之类的操作,每秒钟都会接收新数据,那么您可以让php指向定义的路径并抓取图像。我在做热图!!