gpt4 book ai didi

php - 从 php 系统调用 gnuplot 生成图?

转载 作者:可可西里 更新时间:2023-10-31 23:43:35 26 4
gpt4 key购买 nike

因此,我正在使用 php 程序读取文件,进行一些更改,然后将其写入新文件。之后,我使用系统调用调用 gnuplot:

system('cat sarx.conf | /usr/bin/gnuplot');

sarx.conf 具有生成绘图的 gnuplot 命令。问题是如果从命令行(它在 linux 服务器上)运行我的 php,它会生成图像并将其存储在磁盘上。但是,当我通过在浏览器上运行 php 来做同样的事情时,它会生成图像并尝试将其输出到浏览器上,而不实际将其存储在磁盘上。

我尝试过的事情:

  1. 虽然我可能在权限设置方面遇到了问题,但这并没有帮助。

  2. 我还在 sarx.conf 中硬编码了我希望图像所在的路径。这也没有帮助。

  3. 我也试过在 tmp 目录中寻找它 --- 没有运气!!

有没有人对我如何让它发挥作用有任何想法?我需要将此图像存储在磁盘上,以便我的网站可以抓取它以稍后显示情节。有没有可以抓取图像并将其写入磁盘的 php 东西?

最佳答案

这里有一个很棒的 LGPL 许可的 gnuplot PHP 接口(interface):http://www.liuyi1.com/PHP-GNUPlot/

这里是你如何做类似的事情:

$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);

关于php - 从 php 系统调用 gnuplot 生成图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6931179/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com